From 894dfa96c30f2ac64223fb11da62fcca64bc4a4d Mon Sep 17 00:00:00 2001 From: Vincent Shen Date: Wed, 21 Feb 2024 19:58:22 -0800 Subject: [PATCH] OCP4: Add workflow to test ocp content Add this workflow so we can test ocp4 content can be parsed on each PR --- .github/workflows/k8s-content-pr-test.yaml | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/k8s-content-pr-test.yaml diff --git a/.github/workflows/k8s-content-pr-test.yaml b/.github/workflows/k8s-content-pr-test.yaml new file mode 100644 index 00000000000..2c58152765c --- /dev/null +++ b/.github/workflows/k8s-content-pr-test.yaml @@ -0,0 +1,49 @@ +--- +name: Gate / Kubernetes Test Content Parsing + +on: + pull_request: + types: + - opened + - reopened + - synchronize + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.run_id }} + cancel-in-progress: true + +jobs: + datastream-parsing: + name: XCCDF Datastream parsing + runs-on: ubuntu-latest + steps: + - name: Copy XCCDF files from existing content image + uses: nick-fields/retry@v3 + with: + timeout_minutes: 15 + max_attempts: 3 + retry_wait_seconds: 120 + retry_on: error + command: | + mkdir -p content + docker pull ghcr.io/complianceascode/k8scontent:${{ github.event.number }} + docker run --rm -v $PWD/content:/content:z ghcr.io/complianceascode/k8scontent:${{ github.event.number }} bash -c "cp *.xml /content" + - name: Clone compliance operator repository + run: | + git clone https://github.com/ComplianceAsCode/compliance-operator.git + - name: Fetch go version used in compliance-operator go.mod + run: | + cd compliance-operator + go mod edit -json | jq -r '.Go' > go-version + if [ ! -s go-version ]; then + echo "Failed to fetch go version from compliance-operator go.mod" + exit 1 + fi + - uses: actions/setup-go@v5 + with: + go-version: $(cat compliance-operator/go-version) + - name: Run ginkgo tests and check if each XCCDF file is parsed correctly + run: | + export DEFAULT_CONTENT_DS_FILE_PATH=$PWD/content + cd compliance-operator + make test-datastreams