Skip to content

Nightly checks

Nightly checks #89

Workflow file for this run

name: Nightly checks
on:
# workflow_dispatch so that it can be triggered manually if needed
workflow_dispatch:
schedule:
- cron: "34 23 * * *"
jobs:
e2e-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branch: [ main, release-1.3, 1.2.x ]
test_upgrade: [ 'true', 'false' ]
exclude:
- branch: 1.2.x
test_upgrade: 'true'
name: 'E2E Tests - ${{ matrix.branch }} - upgrade=${{ matrix.test_upgrade }}'
concurrency:
group: '${{ github.workflow }}-${{ matrix.branch }}-${{ matrix.test_upgrade }}'
cancel-in-progress: true
env:
CONTAINER_TOOL: podman
steps:
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 # default branch will be checked out by default on scheduled workflows
with:
fetch-depth: 0
- if: ${{ matrix.branch != 'main' }}
name: Checkout ${{ matrix.branch }} branch
run: git switch ${{ matrix.branch }}
- name: Setup Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5
with:
go-version-file: 'go.mod'
- name: Determine built operator image
run: |
echo "OPERATOR_IMAGE=$(make show-img)" >> $GITHUB_ENV
- name: Check if image exists in remote registry
id: operator-image-existence-checker
run: |
echo "OPERATOR_IMAGE_EXISTS=$(if skopeo inspect "docker://${{ env.OPERATOR_IMAGE }}" > /dev/null; then echo "true"; else echo "false"; fi)" >> $GITHUB_OUTPUT
- name: Display warning if image was not found
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'false' }}
run: |
echo "::warning ::Image ${{ env.OPERATOR_IMAGE }} not found for testing the ${{ matrix.branch }} branch. It might have expired. E2E tests will be skipped for ${{ matrix.branch }}."
- name: Start Minikube
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
uses: medyagh/setup-minikube@d8c0eb871f6f455542491d86a574477bd3894533 # v0.0.18
- name: Run E2E tests (RHDH Operator Upgrade path)
if: ${{ matrix.test_upgrade == 'true' && steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
env:
BACKSTAGE_OPERATOR_TESTS_PLATFORM: minikube
PROFILE: 'rhdh'
IMG: ${{ env.OPERATOR_IMAGE }}
run: make test-e2e-upgrade
- name: Run E2E tests
if: ${{ matrix.test_upgrade == 'false' && steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
env:
BACKSTAGE_OPERATOR_TESTS_PLATFORM: minikube
IMG: ${{ env.OPERATOR_IMAGE }}
run: make test-e2e