Skip to content

Add-batch-cert-script #101

Add-batch-cert-script

Add-batch-cert-script #101

Workflow file for this run

name: QE Testing (Ubuntu-hosted)
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-testing:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
suite: [accesscontrol, affiliatedcertification, manageability, networking, lifecycle, performance, platformalteration, observability, operator]
env:
SHELL: /bin/bash
KUBECONFIG: '/home/runner/.kube/config'
PFLT_DOCKERCONFIG: '/home/runner/.docker/config'
TEST_TNF_IMAGE_NAME: quay.io/testnetworkfunction/cnf-certification-test
TEST_TNF_IMAGE_TAG: localtest
DOCKER_CONFIG_DIR: '/home/runner/.docker/'
SKIP_PRELOAD_IMAGES: true
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
large-packages: true
android: true
dotnet: true
haskell: true
docker-images: true
swap-storage: true
continue-on-error: true
- name: Check out code
uses: actions/checkout@v4
with:
ref: ${{ github.sha }}
- name: Run initial setup
uses: ./.github/actions/setup
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
sudo pip3 install j2cli
- name: Build the test image
run: make build-image-local # quay.io/testnetworkfunction/cnf-certification-test:localtest
# Create a Kind cluster for testing.
- name: Check out `cnf-certification-test-partner`
uses: actions/checkout@v4
with:
repository: test-network-function/cnf-certification-test-partner
path: cnf-certification-test-partner
- name: Bootstrap the Kind and OC/Kubectl binaries for the `local-test-infra`
run: make bootstrap-cluster
working-directory: cnf-certification-test-partner
- name: Create `local-test-infra` OpenShift resources
run: make rebuild-cluster
working-directory: cnf-certification-test-partner
- name: Install partner resources
run: make install-for-qe
working-directory: cnf-certification-test-partner
- name: Show pods
run: oc get pods -A
- name: Wait for all pods to be ready
run: ./scripts/wait-for-all-pods-running.sh
working-directory: cnf-certification-test-partner
- name: Clone the QE repository
uses: actions/checkout@v4
with:
repository: ${{ env.QE_REPO }}
path: cnfcert-tests-verification
- name: Run the tests
uses: nick-fields/retry@v2
with:
timeout_minutes: 60
max_attempts: 3
command: cd ${GITHUB_WORKSPACE}/cnfcert-tests-verification; 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
- 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 Github hosted 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 }}'