Skip to content

Commit 14b0d97

Browse files
turegjorupclaude
andcommitted
ci(playwright): pre-pull images in parallel instead of on-demand
Each image was pulled on demand inside the first step that used it, serially across steps — measured ~90s total on the runner (mariadb+phpfpm during Composer install, node during Build assets, nginx+playwright during Run playwright). Pull them all up front in one `docker compose pull`, which pulls services concurrently, overlapping the smaller images under the large playwright pull. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent f2985e7 commit 14b0d97

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

.github/workflows/playwright.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ jobs:
4242
- name: Setup network
4343
run: docker network create frontend
4444

45+
- name: Pull container images
46+
# Pull all images this job uses up front, in parallel (compose pulls
47+
# services concurrently). Otherwise each image is pulled on demand inside
48+
# the first step that uses it — serially across steps (~90s total:
49+
# mariadb+phpfpm in Composer install, node in Build assets,
50+
# nginx+playwright in Run playwright). Pulling concurrently overlaps the
51+
# smaller images under the large playwright pull.
52+
run: docker compose pull --quiet phpfpm node playwright nginx mariadb
53+
4554
- name: Composer install
4655
run: |
4756
docker compose run --rm phpfpm composer install

CHANGELOG.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ All notable changes to this project will be documented in this file.
55
## [Unreleased]
66

77
- Sped up the Playwright CI job: it now runs in parallel (3 workers, sized to the 4-vCPU public
8-
GitHub runner) instead of a single worker, added `ipc: host` to the `playwright` Compose
9-
service so parallel Chromium does not exhaust Docker's default 64 MB `/dev/shm`, and dropped
10-
the redundant `playwright install --with-deps` step (the pinned Playwright image already ships
11-
the matching browsers).
8+
GitHub runner) instead of the default 2, added `ipc: host` to the `playwright` Compose
9+
service so parallel Chromium does not exhaust Docker's default 64 MB `/dev/shm`, pulls the
10+
container images once up front in parallel instead of on demand serially across steps
11+
(~90s of pulls overlapped), and dropped the redundant `playwright install --with-deps` step
12+
(the pinned Playwright image already ships the matching browsers).
1213
- Removed a dead statement in `MediaRepository::getPaginator()` that referenced the undefined
1314
variables `$page` and `$itemsPerPage`; the computed value was never used.
1415
- Fixed inverted user-type guard in `UserService::activateExternalUser()`: the "user is not of

0 commit comments

Comments
 (0)