Show update info in quay #3141
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CD | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - 'releases/**' | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| publish_ui_docker_image_to_acr: | |
| name: Publish UI Docker image to ACR | |
| permissions: | |
| id-token: write | |
| contents: read | |
| uses: HSLdevcom/jore4-tools/.github/workflows/shared-build-and-publish-docker-image.yml@shared-build-and-publish-docker-image-v6 | |
| with: | |
| docker_image_name: jore4-ui | |
| # Currently (2025-05) gyp tries to build something on arm64 and this would require at least Python to be | |
| # installed in the Docker container, i.e. building arm64 fails currently | |
| build_arm64_image: false | |
| build_args: | | |
| NEXT_PUBLIC_GIT_HASH=${{ github.sha }} | |
| secrets: | |
| azure_client_id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure_tenant_id: ${{ secrets.AZURE_TENANT_ID }} | |
| azure_subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| set_variables: | |
| name: Set Variables | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| chrome_version: ${{ steps.chrome_version.outputs.CHROME_VERSION }} | |
| steps: | |
| - name: Get latest stable Chrome version | |
| id: chrome_version | |
| run: | | |
| # The cypress/factory Docker image requires CHROME_VERSION to be set and the image downloads Chrome from deb | |
| # repository provided by Chrome project: | |
| # https://github.com/cypress-io/cypress-docker-images/blob/master/factory/installScripts/chrome/default.sh | |
| # The default.sh is called from | |
| # https://github.com/cypress-io/cypress-docker-images/blob/master/factory/installScripts/chrome/install-chrome-version.js | |
| # | |
| # A deb repository contains Packages file that lists all packages with current versions available in the package | |
| # repository, i.e. the Packages file can be used to find out the current Chrome version | |
| echo "CHROME_VERSION=$( | |
| curl -s https://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages \ | |
| | awk ' | |
| /^Package: google-chrome-stable/{stable_pkg=1} | |
| stable_pkg && /^$/{stable_pkg=0} | |
| stable_pkg && /^Version:/{print $2} | |
| ' \ | |
| )" >> $GITHUB_OUTPUT | |
| publish_cypress_docker_image_to_acr: | |
| name: Publish Cypress Docker image to ACR | |
| needs: | |
| - set_variables | |
| permissions: | |
| id-token: write | |
| contents: read | |
| uses: HSLdevcom/jore4-tools/.github/workflows/shared-build-and-publish-docker-image.yml@shared-build-and-publish-docker-image-v6 | |
| with: | |
| docker_image_name: jore4-cypress | |
| build_arm64_image: ${{ github.ref_name == 'main' || startsWith(github.ref_name, 'releases/') }} | |
| file: Dockerfile.cypress | |
| build_args: | | |
| CHROME_VERSION=${{ needs.set_variables.outputs.chrome_version }} | |
| secrets: | |
| azure_client_id: ${{ secrets.AZURE_CLIENT_ID }} | |
| azure_tenant_id: ${{ secrets.AZURE_TENANT_ID }} | |
| azure_subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
| run_e2e_tests: | |
| name: Run E2E tests | |
| needs: | |
| - publish_ui_docker_image_to_acr | |
| - publish_cypress_docker_image_to_acr | |
| uses: HSLdevcom/jore4-tools/.github/workflows/shared-run-e2e.yml@main | |
| with: | |
| ui_version: ${{ needs.publish_ui_docker_image_to_acr.outputs.docker_image }} | |
| cypress_version: ${{ needs.publish_cypress_docker_image_to_acr.outputs.docker_image }} | |
| update_e2e_test_durations: ${{ github.ref == 'refs/heads/main' }} | |
| test-tags: '' | |
| secrets: | |
| jore4_ci_data_repo_ssh_key: ${{ secrets.JORE4_CI_DATA_REPO_DEPLOY_KEY }} |