CI: amd64-only E2E on PRs + run-scoped names + --ipc=host (refs #5) #69
No reviewers
Labels
No labels
area/ai
area/backend
area/frontend
area/infra
area/scheduler
area/wled
good-first-issue
priority/high
priority/low
priority/medium
type/bug
type/chore
type/ci-cd
type/docs
type/feature
type/qa
v1.0.0
v1.1.0
v1.2.0
v2.0.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/Iris-WLED!69
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/5-ci-speed"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #5 (CI hardening). Makes the docker-e2e job fast and concurrency-safe.
Why
Every CI run took ~35 min, almost entirely the emulated
linux/arm64half of the multi-arch build (QEMU). With ~15 issues still flowing through CI, that's the main throughput bottleneck.Changes (docker-e2e job only)
Set up QEMUandBuild multi-arch imagesteps are now gated onif: github.event_name == 'push'. Pull requests buildlinux/amd64only (the arch we actually boot for the smoke test + E2E); pushes tomain/ tags still validateamd64+arm64. → PR feedback drops from ~35 min to a few minutes; the release path keeps full multi-arch coverage.iris-${{ github.run_id }}/pw-…/iris-net-…instead of fixediris/pw/iris-net, so concurrent PR runs on the shared (reused) runner host can't clobber each other. Added analways()cleanup step.--ipc=hoston the Playwright container so Chromium isn't starved by the default 64 MB/dev/shm(a latent hang source — a recent run sat ~40 min before finishing).Validation
This PR's own CI run is the test: because it's a
pull_requestevent, it exercises the new amd64-only path with run-scoped names and--ipc=host— so a fast, green run here proves all three changes. The container orchestration (container-name networking +docker cp) is unchanged and already verified.Refs #5 (the broader test-coverage items on that issue remain open).
🤖 Generated with Claude Code
docker-e2e took ~35 min/run, almost all the emulated linux/arm64 multi-arch build under QEMU. Gate the QEMU + multi-arch build on push events (main / tags) so PRs build amd64 only — PR feedback drops to a few minutes while the release path still validates both arches. Also harden the job: - Run-scoped container/network names (iris-${{ github.run_id }} etc.) so concurrent PR runs on the shared, reused runner host don't collide on fixed names; plus an always() cleanup step. - --ipc=host on the Playwright container so Chromium isn't starved by the default 64MB /dev/shm (a latent hang source). Refs #5. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>