diff --git a/.github/workflows/qe-ocp-intrusive.yaml b/.github/workflows/qe-ocp-413-intrusive.yaml similarity index 92% rename from .github/workflows/qe-ocp-intrusive.yaml rename to .github/workflows/qe-ocp-413-intrusive.yaml index 7709dcf34b..736e030807 100644 --- a/.github/workflows/qe-ocp-intrusive.yaml +++ b/.github/workflows/qe-ocp-413-intrusive.yaml @@ -1,4 +1,4 @@ -name: QE OCP Intrusive Testing +name: QE OCP 4.13 Intrusive Testing on: # pull_request: @@ -11,7 +11,7 @@ env: QE_REPO: test-network-function/cnfcert-tests-verification jobs: - qe-ocp-intrusive-testing: + qe-ocp-413-intrusive-testing: runs-on: qe-ocp strategy: fail-fast: false @@ -74,5 +74,5 @@ jobs: GITHUB_REPO: https://github.com/test-network-function/cnf-certification-test run: | curl -X POST --data "{ - \"text\": \"🚨⚠️ Failed to run intrusive OCP QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" + \"text\": \"🚨⚠️ Failed to run intrusive OCP 4.13 QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" }" -H 'Content-type: application/json; charset=UTF-8' ${{ secrets.QE_NIGHTLY_WEBHOOK }} diff --git a/.github/workflows/qe-ocp.yaml b/.github/workflows/qe-ocp-413.yaml similarity index 92% rename from .github/workflows/qe-ocp.yaml rename to .github/workflows/qe-ocp-413.yaml index 702224833f..6412de2198 100644 --- a/.github/workflows/qe-ocp.yaml +++ b/.github/workflows/qe-ocp-413.yaml @@ -1,4 +1,4 @@ -name: QE OCP Testing +name: QE OCP 4.13 Testing on: # pull_request: @@ -11,7 +11,7 @@ env: QE_REPO: test-network-function/cnfcert-tests-verification jobs: - qe-ocp-testing: + qe-ocp-413-testing: runs-on: qe-ocp strategy: fail-fast: false @@ -73,5 +73,5 @@ jobs: GITHUB_REPO: https://github.com/test-network-function/cnf-certification-test run: | curl -X POST --data "{ - \"text\": \"🚨⚠️ Failed to run non-intrusive OCP QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" + \"text\": \"🚨⚠️ Failed to run non-intrusive OCP 4.13 QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" }" -H 'Content-type: application/json; charset=UTF-8' ${{ secrets.QE_NIGHTLY_WEBHOOK }} diff --git a/.github/workflows/qe-ocp-414-intrusive.yaml b/.github/workflows/qe-ocp-414-intrusive.yaml new file mode 100644 index 0000000000..3b1b4f71b5 --- /dev/null +++ b/.github/workflows/qe-ocp-414-intrusive.yaml @@ -0,0 +1,78 @@ +name: QE OCP 4.14 Intrusive Testing + +on: + # pull_request: + # branches: [ main ] + workflow_dispatch: + # Schedule a daily cron at midnight UTC + schedule: + - cron: '0 0 * * *' +env: + QE_REPO: test-network-function/cnfcert-tests-verification + +jobs: + qe-ocp-414-intrusive-testing: + runs-on: qe-ocp-414 + strategy: + fail-fast: false + matrix: + # Add more suites if more intrusive tests are added to the QE repo + suite: [lifecycle] + env: + SHELL: /bin/bash + KUBECONFIG: '/home/labuser2/.kube/config' + PFLT_DOCKERCONFIG: '/home/labuser2/.docker/config' + TEST_TNF_IMAGE_NAME: quay.io/testnetworkfunction/cnf-certification-test + TEST_TNF_IMAGE_TAG: localtest + DOCKER_CONFIG_DIR: '/home/labuser2/.docker' + + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + ref: ${{ github.sha }} + + - name: Run initial setup + uses: ./.github/actions/setup + + - name: Preemptively prune docker resources + run: docker system prune -f --volumes + + - name: Build the test image + run: make build-image-local # quay.io/testnetworkfunction/cnf-certification-test:localtest + + - name: Show pods + run: oc get pods -A + + - name: Clone the QE repository + uses: actions/checkout@v4 + with: + repository: ${{ env.QE_REPO }} + path: cnfcert-tests-verification + + - name: Preemptively potential QE namespaces + run: ./scripts/delete-namespaces.sh + working-directory: cnfcert-tests-verification + + - name: Preemptively delete report and config folders + shell: bash + run: | + sudo rm -rf /tmp/tnf_config/ + sudo rm -rf /tmp/tnf_report/ + + # Setup is complete. Time to run the QE tests. + - name: Run the tests + run: FEATURES=${{matrix.suite}} TNF_REPO_PATH=${GITHUB_WORKSPACE} TNF_IMAGE=${{env.TEST_TNF_IMAGE_NAME}} TNF_IMAGE_TAG=${{env.TEST_TNF_IMAGE_TAG}} DISABLE_INTRUSIVE_TESTS=false ENABLE_PARALLEL=false ENABLE_FLAKY_RETRY=true make test-features + working-directory: cnfcert-tests-verification + + - name: (if on main and upstream) Send chat msg to dev team if failed to run QE tests + if: ${{ failure() && github.ref == 'refs/heads/main' && github.repository_owner == 'test-network-function' }} + env: + COMMIT_SHA: ${{ github.sha }} + JOB_RUN_ID: ${{ github.run_id }} + JOB_RUN_ATTEMPT: ${{ github.run_attempt }} + GITHUB_REPO: https://github.com/test-network-function/cnf-certification-test + run: | + curl -X POST --data "{ + \"text\": \"🚨⚠️ Failed to run intrusive OCP 4.14 QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" + }" -H 'Content-type: application/json; charset=UTF-8' ${{ secrets.QE_NIGHTLY_WEBHOOK }} diff --git a/.github/workflows/qe-ocp-414.yaml b/.github/workflows/qe-ocp-414.yaml new file mode 100644 index 0000000000..ed69d0f6ca --- /dev/null +++ b/.github/workflows/qe-ocp-414.yaml @@ -0,0 +1,77 @@ +name: QE OCP 4.14 Testing + +on: + pull_request: + branches: [ main ] + workflow_dispatch: + # Schedule a daily cron at midnight UTC + schedule: + - cron: '0 0 * * *' +env: + QE_REPO: test-network-function/cnfcert-tests-verification + +jobs: + qe-ocp-414-testing: + runs-on: qe-ocp-414 + strategy: + fail-fast: false + matrix: + suite: [accesscontrol, affiliatedcertification, manageability, networking, lifecycle, performance, platformalteration, observability, operator] + env: + SHELL: /bin/bash + KUBECONFIG: '/home/labuser2/.kube/config' + PFLT_DOCKERCONFIG: '/home/labuser2/.docker/config' + TEST_TNF_IMAGE_NAME: quay.io/testnetworkfunction/cnf-certification-test + TEST_TNF_IMAGE_TAG: localtest + DOCKER_CONFIG_DIR: '/home/labuser2/.docker' + + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + ref: ${{ github.sha }} + + - name: Run initial setup + uses: ./.github/actions/setup + + - name: Preemptively prune docker resources + run: docker system prune -f --volumes + + - name: Build the test image + run: make build-image-local # quay.io/testnetworkfunction/cnf-certification-test:localtest + + - name: Show pods + run: oc get pods -A + + - name: Clone the QE repository + uses: actions/checkout@v4 + with: + repository: ${{ env.QE_REPO }} + path: cnfcert-tests-verification + + - name: Preemptively potential QE namespaces + run: ./scripts/delete-namespaces.sh + working-directory: cnfcert-tests-verification + + - name: Preemptively delete report and config folders + shell: bash + run: | + sudo rm -rf /tmp/tnf_config/ + sudo rm -rf /tmp/tnf_report/ + + # Setup is complete. Time to run the QE tests. + - name: Run the tests + run: FEATURES=${{matrix.suite}} TNF_REPO_PATH=${GITHUB_WORKSPACE} TNF_IMAGE=${{env.TEST_TNF_IMAGE_NAME}} TNF_IMAGE_TAG=${{env.TEST_TNF_IMAGE_TAG}} DISABLE_INTRUSIVE_TESTS=true ENABLE_PARALLEL=true ENABLE_FLAKY_RETRY=true make test-features + working-directory: cnfcert-tests-verification + + - name: (if on main and upstream) Send chat msg to dev team if failed to run QE tests + if: ${{ failure() && github.ref == 'refs/heads/main' && github.repository_owner == 'test-network-function' }} + env: + COMMIT_SHA: ${{ github.sha }} + JOB_RUN_ID: ${{ github.run_id }} + JOB_RUN_ATTEMPT: ${{ github.run_attempt }} + GITHUB_REPO: https://github.com/test-network-function/cnf-certification-test + run: | + curl -X POST --data "{ + \"text\": \"🚨⚠️ Failed to run non-intrusive OCP 4.14 QE tests from commit \<$GITHUB_REPO/commit/$COMMIT_SHA|$COMMIT_SHA\>, job ID \<$GITHUB_REPO/actions/runs/$JOB_RUN_ID/attempts/$JOB_RUN_ATTEMPT|$JOB_RUN_ID\> \" + }" -H 'Content-type: application/json; charset=UTF-8' ${{ secrets.QE_NIGHTLY_WEBHOOK }}