From 8410a51f8bcfe4f659fd998a03e6a2c19063d079 Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Mon, 30 Oct 2023 15:32:35 -0500 Subject: [PATCH 1/2] Add cron to run preflight against unstable image --- .github/workflows/preflight.yml | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/preflight.yml diff --git a/.github/workflows/preflight.yml b/.github/workflows/preflight.yml new file mode 100644 index 000000000..d8594cc1b --- /dev/null +++ b/.github/workflows/preflight.yml @@ -0,0 +1,49 @@ +--- +name: Preflight +'on': + schedule: + - cron: '0 0 * * *' + # pull_request: + # branches: [ main ] + workflow_dispatch: + +jobs: + preflight-unstable: + runs-on: ubuntu-22.04 + env: + SHELL: /bin/bash + IMAGE_NAME: quay.io/testnetworkfunction/cnf-certification-test:unstable + + steps: + - uses: actions/checkout@v4 + + - name: Set up Go 1.21 + uses: actions/setup-go@v4 + with: + go-version: 1.21.3 + + - name: Disable default go problem matcher + run: echo "::remove-matcher owner=go::" + + - name: Clone the preflight repository + uses: actions/checkout@v4 + with: + repository: redhat-openshift-ecosystem/openshift-preflight + path: openshift-preflight + + - name: Run preflight + working-directory: openshift-preflight + run: | + make build + ./preflight check container ${{ env.IMAGE_NAME }} --artifacts ${GITHUB_WORKSPACE}/openshift-preflight/artifacts + + ALLOWED_FAILURES=("HasLicense" "RunAsNonRoot") + FAILURES=$(cat ${GITHUB_WORKSPACE}/openshift-preflight/artifacts/amd64/results.json | jq -r '.results.failed[].name') + + for FAILURE in $FAILURES; do + FAILURE=$(echo $FAILURE | tr -d '"') + if [[ ! " ${ALLOWED_FAILURES[@]} " =~ " ${FAILURE} " ]]; then + echo "ERROR: $FAILURE is not an allowed failure" + exit 1 + fi + done From da6826200039de75326f2046acae6974e3d61660 Mon Sep 17 00:00:00 2001 From: Brandon Palm Date: Mon, 30 Oct 2023 17:25:34 -0500 Subject: [PATCH 2/2] Address comments --- .github/workflows/preflight.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preflight.yml b/.github/workflows/preflight.yml index d8594cc1b..2af36f708 100644 --- a/.github/workflows/preflight.yml +++ b/.github/workflows/preflight.yml @@ -42,8 +42,8 @@ jobs: for FAILURE in $FAILURES; do FAILURE=$(echo $FAILURE | tr -d '"') - if [[ ! " ${ALLOWED_FAILURES[@]} " =~ " ${FAILURE} " ]]; then - echo "ERROR: $FAILURE is not an allowed failure" + if [[ ! "${ALLOWED_FAILURES[@]}" =~ "${FAILURE}" ]]; then + echo >&2 "ERROR: $FAILURE is not an allowed failure" exit 1 fi done