From a9b7e536d66221632dd6d5e8393a0991bf39249d Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Tue, 8 Sep 2026 10:30:08 +0200 Subject: [PATCH] fix(ci): fall back to ghcr.io when the registry cache is unavailable The playwright init step pulls application images from the internal pull-through cache registry-cache-ghcr:5000. Since 2026-09-07 the cache serves HTTP 500 on blob transfer, blocking the whole merge queue while branch CI stays green and upstream ghcr.io serves the same tags anonymously. Pull each image from the cache, and on failure emit a warning annotation and pull directly from ghcr.io so the queue self-heals while the platform owners restore the cache. Refs #2694 Co-authored-by: Automata Signed-off-by: William Phetsinorath Change-Id: I6035050c7d666c84b08ae7a16a1ef0486a6a6964 --- .github/workflows/job-playwright.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/job-playwright.yml b/.github/workflows/job-playwright.yml index 8b3ac0a3df..765a7e4095 100644 --- a/.github/workflows/job-playwright.yml +++ b/.github/workflows/job-playwright.yml @@ -46,8 +46,13 @@ jobs: run: | ./ci/scripts/init-env.sh for img in server nginx-strangler server-nestjs client opencds-mockoon; do - docker pull "${GHCR_CACHE}/cloud-pi-native/console/${img}:${{ inputs.TAG }}" - docker tag "${GHCR_CACHE}/cloud-pi-native/console/${img}:${{ inputs.TAG }}" "dso-console/${img}:ci" + source="${GHCR_CACHE}/cloud-pi-native/console/${img}:${{ inputs.TAG }}" + if ! docker pull "${source}"; then + echo "::warning::registry cache ${GHCR_CACHE} unavailable for ${img}, falling back to ghcr.io" + source="ghcr.io/cloud-pi-native/console/${img}:${{ inputs.TAG }}" + docker pull "${source}" + fi + docker tag "${source}" "dso-console/${img}:ci" done docker compose -f ./docker/docker-compose.ci.yml up --no-build -d --remove-orphans