OCP4: Add workflow to test ocp content #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Kubernetes content image test for PR | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
jobs: | |
get-xccdf-files: | |
name: Fetch XCCDF files from existing content image | |
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 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '>=1.19.0' | |
- run: go version | |
- name: Install ginkgo | |
run: | | |
go install github.com/onsi/ginkgo/ginkgo@latest | |
- name: Run ginkgo tests and check if each XCCDF file is parsed correctly | |
run: | | |
cd compliance-operator | |
for file in $PWD/../content/*.xml; do | |
export DEFAULT_CONTENT_DS_FILE_PATH=$file | |
ginkgo --focus "Testing for correct content parsing" ./pkg/utils | tee /tmp/ginkgo_output | |
if grep -q "0 Passed" /tmp/ginkgo_output && grep -q "0 Failed" /tmp/ginkgo_output; then | |
echo "XCCDF file $file is not parsed correctly" | |
exit 1 | |
elif grep -q "SUCCESS!" /tmp/ginkgo_output; then | |
echo "XCCDF file $file is parsed correctly" | |
else | |
echo "XCCDF file $file is not parsed correctly" | |
exit 1 | |
fi | |
done | |