A CI run of the journeys removes the images it built (#1081) #1082

Merged
claude-bot merged 1 commit from fix/journeys-remove-run-images into main 2026-10-04 16:07:48 +00:00
Collaborator

Part of #1081. The runners' own disks still need clearing, which is the owner's to do; this stops new runs adding to them.

Summary

Each journeys job names its compose project questboard-e2e-<run>-<project>, so every run builds nine images under names no later run uses, and down -v does not remove images. One runner held 679 of them.

  • scripts/journeys.sh takes QB_E2E_RM_IMAGES=1. With it, teardown is --profile tools down -v --remove-orphans --rmi local.
    • --profile tools so seed and playwright are included.
    • local removes only images named after the project. questboard-e2e-db:latest, mailpit and redis are kept.
  • CI sets it for the journeys job, and the backstop "Tear the stack down" step does the same.
  • A local run is unchanged: its project name is fixed and the next run reuses its images.

Changelog

  • changelog.d/journeys-remove-run-images.fixed.md

Test plan

  • sh -n scripts/journeys.sh.
  • On the dev host, the teardown command parses and exits 0 against an empty project.
  • config --images with the tools profile lists the nine images named after the project (backend, fake-ai, fakebot, frontend, migrate, oidc, playwright, seed, worker) and the three that are not.
  • changelog.py check OK.
  • Not run: a real journeys run with the flag. This PR's own CI is the first. It can only be confirmed on a runner by counting images after a run, which needs access I do not have beyond a read-only look.
  • CI. It may fail on the full disk this PR is about.

🤖 Generated with Claude Code

Part of #1081. The runners' own disks still need clearing, which is the owner's to do; this stops new runs adding to them. ## Summary Each journeys job names its compose project `questboard-e2e-<run>-<project>`, so every run builds nine images under names no later run uses, and `down -v` does not remove images. One runner held 679 of them. - `scripts/journeys.sh` takes `QB_E2E_RM_IMAGES=1`. With it, teardown is `--profile tools down -v --remove-orphans --rmi local`. - `--profile tools` so `seed` and `playwright` are included. - `local` removes only images named after the project. `questboard-e2e-db:latest`, mailpit and redis are kept. - CI sets it for the journeys job, and the backstop "Tear the stack down" step does the same. - A local run is unchanged: its project name is fixed and the next run reuses its images. ## Changelog - [x] `changelog.d/journeys-remove-run-images.fixed.md` ## Test plan - [x] `sh -n scripts/journeys.sh`. - [x] On the dev host, the teardown command parses and exits 0 against an empty project. - [x] `config --images` with the `tools` profile lists the nine images named after the project (backend, fake-ai, fakebot, frontend, migrate, oidc, playwright, seed, worker) and the three that are not. - [x] `changelog.py check` OK. - [ ] **Not run: a real journeys run with the flag.** This PR's own CI is the first. It can only be confirmed on a runner by counting images after a run, which needs access I do not have beyond a read-only look. - [ ] CI. It may fail on the full disk this PR is about. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A CI run of the journeys removes the images it built
All checks were successful
CI / Does this change touch the recording path? (pull_request) Successful in 23s
CI / Bot/backend version sync (pull_request) Successful in 47s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m2s
CI / Docker image build (pull_request) Successful in 1m1s
CI / Backend lint (ruff) (pull_request) Successful in 1m6s
CI / Feedback site tests (pull_request) Successful in 1m8s
CI / Bot tests and audit (pull_request) Successful in 2m5s
CI / Frontend (shard 2/2) (pull_request) Successful in 8m41s
CI / Frontend (shard 1/2) (pull_request) Successful in 10m17s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 16m0s
CI / End-to-end journeys (phone) (pull_request) Successful in 17m11s
CI / End-to-end journeys (desktop) (pull_request) Successful in 19m2s
CI / End-to-end journeys (keyboard) (pull_request) Successful in 19m11s
CI / Backend migration, tests, and audit (pull_request) Successful in 24m25s
8dbd97b3c2
Each run's compose project is named after the run, so its images are never
used again, and nothing removed them. The runners' disks filled and jobs
failed with 'no space left on device' three times on 4 October.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-bot deleted branch fix/journeys-remove-run-images 2026-10-04 16:07:49 +00:00
rbrooks referenced this pull request from a commit 2026-10-04 16:38:11 +00:00
Sign in to join this conversation.
No description provided.