Skip to content

chore(deps): update konflux references to 01f2988 #1644

chore(deps): update konflux references to 01f2988

chore(deps): update konflux references to 01f2988 #1644

name: e2e-nongroovy-tests
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
types:
- opened
- reopened
- labeled
- synchronize
defaults:
run:
shell: bash
jobs:
wait-for-images:
if: >-
!github.event.pull_request.head.repo.fork && (
github.event_name != 'pull_request' ||
contains(github.event.pull_request.labels.*.name, 'e2e-nongroovy-tests')
)
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- uses: ./.github/actions/handle-tagged-build
- name: Compute build tag
id: build-tag
run: echo "tag=${MAIN_IMAGE_TAG:-"$(make --quiet --no-print-directory tag)"}" | tee -a "$GITHUB_ENV"
- name: Wait for images
uses: stackrox/actions/release/wait-for-image@9238e423c3ae1ac4eb0f254cbb98da9daae24d86 # ratchet:stackrox/actions/release/wait-for-image@v1
with:
token: ${{ secrets.QUAY_RHACS_ENG_BEARER_TOKEN }}
image: |
rhacs-eng/main:${{ env.tag }}
rhacs-eng/central-db:${{ env.tag }}
rhacs-eng/scanner-v4:${{ env.tag }}
rhacs-eng/scanner-v4-db:${{ env.tag }}
rhacs-eng/collector:${{ env.tag }}
gke-nongroovy-e2e-tests:
needs: [ wait-for-images ]
if: >-
!github.event.pull_request.head.repo.fork && (
github.event_name != 'pull_request' ||
contains(github.event.pull_request.labels.*.name, 'e2e-nongroovy-tests')
)
runs-on: ubuntu-latest
env:
USE_GKE_GCLOUD_AUTH_PLUGIN: "True"
GCP_SERVICE_ACCOUNT_STACKROX_CI: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }}
CI_JOB_NAME: gke-nongroovy-e2e-tests
ARTIFACT_DIR: ./junit-reports/
LOAD_BALANCER: lb
ORCHESTRATOR_FLAVOR: k8s
KUBERNETES_PROVIDER: gke
SENSOR_SCANNER_SUPPORT: "true"
ROX_DEPLOY_SENSOR_WITH_CRS: "true"
SENSOR_HELM_MANAGED: "true"
SCANNER_V4_DB_STORAGE_CLASS: faster
ROX_SCANNER_V4: "false"
timeout-minutes: 120
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # ratchet:actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- uses: ./.github/actions/job-preamble
with:
gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }}
- name: Docker login to Quay.io
env:
REGISTRY_USERNAME: ${{ secrets.QUAY_RHACS_ENG_RO_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.QUAY_RHACS_ENG_RO_PASSWORD }}
run: docker login -u "${REGISTRY_USERNAME}" --password-stdin quay.io <<<"${REGISTRY_PASSWORD}"
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # ratchet:google-github-actions/setup-gcloud@v3
with:
install_components: "gke-gcloud-auth-plugin,beta"
- name: Create GKE cluster
env:
MACHINE_TYPE: e2-standard-8
NUM_NODES: "3"
timeout-minutes: 20
run: |
source scripts/ci/gke.sh
provision_gke_cluster nongroovy
{
echo "CLUSTER_NAME=${CLUSTER_NAME}"
echo "ZONE=${ZONE}"
echo "KUBECONFIG=${HOME}/.kube/config"
} >> "$GITHUB_ENV"
- name: Wait for cluster to stabilize
timeout-minutes: 5
run: |
source scripts/ci/gke.sh
wait_for_cluster
- name: Build roxctl
# roxctl is used for various CLI e2e tests (token-file, authz-trace, istio-support, etc.)
# Copy to /usr/local/bin so it survives bats tests which mv the binary out of bin/
run: |
make roxctl_linux-amd64
sudo cp bin/linux_amd64/roxctl /usr/local/bin/roxctl
echo "${HOME}/go/bin" >> "$GITHUB_PATH"
- name: Verify kubectl access
run: |
kubectl cluster-info
kubectl get nodes
- name: Create artifact directory
run: mkdir -p "$ARTIFACT_DIR"
- name: Run pre-test
shell: python
env:
QUAY_RHACS_ENG_BEARER_TOKEN: ${{ secrets.QUAY_RHACS_ENG_BEARER_TOKEN }}
QUAY_RHACS_ENG_RO_USERNAME: ${{ secrets.QUAY_RHACS_ENG_RO_USERNAME }}
QUAY_RHACS_ENG_RO_PASSWORD: ${{ secrets.QUAY_RHACS_ENG_RO_PASSWORD }}
PYTHONUNBUFFERED: "1"
run: |
import sys
sys.path.append('.openshift-ci')
from pre_tests import PreSystemTests
PreSystemTests().run()
- name: Install bats
run: |
sudo npm install -g bats bats-support bats-assert
sudo mkdir -p /usr/lib/node_modules
sudo ln -s /usr/local/lib/node_modules/bats-support /usr/lib/node_modules/bats-support
sudo ln -s /usr/local/lib/node_modules/bats-assert /usr/lib/node_modules/bats-assert
- name: Run e2e tests
env:
QUAY_RHACS_ENG_RO_USERNAME: ${{ secrets.QUAY_RHACS_ENG_RO_USERNAME }}
QUAY_RHACS_ENG_RO_PASSWORD: ${{ secrets.QUAY_RHACS_ENG_RO_PASSWORD }}
REGISTRY_USERNAME: ${{ secrets.QUAY_RHACS_ENG_RO_USERNAME }}
REGISTRY_PASSWORD: ${{ secrets.QUAY_RHACS_ENG_RO_PASSWORD }}
GOOGLE_GCS_BACKUP_SERVICE_ACCOUNT_V2: ${{ secrets.GOOGLE_GCS_BACKUP_SERVICE_ACCOUNT_V2 }}
GCP_GCS_BACKUP_TEST_BUCKET_NAME_V2: ${{ secrets.GCP_GCS_BACKUP_TEST_BUCKET_NAME_V2 }}
BUILD_ID: ${{ github.run_id }}
timeout-minutes: 90
run: tests/e2e/run.sh /tmp/e2e-test-logs
- name: Persist env vars for post-test
if: failure() || github.event_name == 'push'
run: |
source tests/e2e/lib.sh
wait_for_api
echo "API_ENDPOINT=${API_ENDPOINT}" >> "$GITHUB_ENV"
echo "ROX_ADMIN_PASSWORD=$(cat deploy/k8s/central-deploy/password)" >> "$GITHUB_ENV"
- name: Run post-test
if: failure() || github.event_name == 'push'
shell: python
env:
PYTHONUNBUFFERED: "1"
ROX_USERNAME: admin
run: |
import os, sys
sys.path.append('.openshift-ci')
from post_tests import PostClusterTest
post = PostClusterTest(
check_stackrox_logs=False,
)
if os.environ.get("ORCHESTRATOR_FLAVOR") == "k8s":
post.openshift_namespaces = []
post.run(['/tmp/e2e-test-logs', '${{ env.ARTIFACT_DIR }}'])
- name: Run final-post
if: always()
shell: python
env:
PYTHONUNBUFFERED: "1"
run: |
import sys
sys.path.append('.openshift-ci')
from post_tests import FinalPost
FinalPost(store_qa_tests_data=False).run()
- name: Teardown GKE cluster
if: always()
run: |
if [[ -z "${CLUSTER_NAME:-}" ]]; then
echo "No cluster to teardown"
exit 0
fi
source scripts/ci/gke.sh
teardown_gke_cluster false || echo "Cluster teardown failed"
- name: Publish test summary
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # ratchet:test-summary/action@v2
if: always()
with:
paths: ${{ env.ARTIFACT_DIR }}/**/*.xml
show: all
- name: Report junit failures in jira
if: (!cancelled())
id: junit2jira
uses: ./.github/actions/junit2jira
with:
create-jiras: ${{ github.event_name == 'push' }}
jira-user: ${{ secrets.JIRA_USER }}
jira-token: ${{ secrets.JIRA_TOKEN }}
gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }}
directory: ${{ env.ARTIFACT_DIR }}