From a087321570f02bba50fcf86eb169e57daec1315d Mon Sep 17 00:00:00 2001 From: Steve Cliff Date: Fri, 8 May 2026 20:15:21 +0100 Subject: [PATCH] e2e: build playwright image with --profile test --pull MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without --profile test, `docker compose build` skips the playwright service (profiles: [test]) and the image is built on-demand by `compose run` instead. Across CI runs the Gitea runner caches the resulting tag, so a Dockerfile FROM bump (v1.50.0 → v1.59.1) is masked by the cached image — the container ends up with old browser binaries and Playwright's own version-mismatch check fails the suite. Pull base images on every build so the FROM tag wins. --- .gitea/workflows/e2e.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/e2e.yml b/.gitea/workflows/e2e.yml index 1cfa3fe..199f7a0 100644 --- a/.gitea/workflows/e2e.yml +++ b/.gitea/workflows/e2e.yml @@ -31,7 +31,12 @@ jobs: - uses: actions/checkout@v4 - name: Build the e2e stack - run: docker compose -f e2e/compose.e2e.yml build + # --profile test pulls in the playwright service which is + # otherwise gated. --pull refreshes base images so a bump + # to the Dockerfile's FROM tag (e.g. mcr.microsoft.com/ + # playwright:vX.Y.Z-jammy) isn't masked by a stale runner + # cache that still has the old tag's layers. + run: docker compose --profile test -f e2e/compose.e2e.yml build --pull - name: Bring up the stack run: docker compose -f e2e/compose.e2e.yml up -d server rest-server source-fixture