Skip to content

Show update info in quay #3141

Show update info in quay

Show update info in quay #3141

Workflow file for this run

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 }}