Release 1.14.3 - #116
Merged
Merged
Release 1.14.3#116
Conversation
Containers, networks and volumes were all cleaned; the images compose built were not, so the tag list grew without bound — 237 had accumulated over 28 run ids on one machine here. Two places, mirroring what the other three resources already do. `teardown` adds `--rmi local` to the `down`, and `sweep_stale` picks up anything a `kill -9` left behind, last in the function because `docker rmi` refuses an image a container still holds. Keeping them was never buying anything. The project name carries $$, so the tag `<project>-<service>` is unique per run and the next run cannot reuse it whatever we do — and `docker rmi` drops the tag, not the build cache, so the rebuild is free. Measured back to back: 93s then 98s, the second run starting with every image the first one built already removed. The sweep anchors on `^sattest-` and deliberately not `^sat-test-`. They are one hyphen apart and opposite in kind: the stacks tier's are run-scoped and unbounded, the integration tier's are fixed-name and reused across runs on purpose, as a build cache. Widening the anchor would quietly turn every stacks run into a full rebuild of the other tier. Verified by planting stale `sattest-*` images and a volume before a run: both were swept, the five real `sat-test-*` images were untouched, and the run left nothing of its own behind. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K7ZLAqx3456HP7BAY9gmqA
Sweep the images the stacks tier builds
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K7ZLAqx3456HP7BAY9gmqA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cuts v1.14.3 — the stacks tier stops leaking images. One test file, plus the
release commit.
Carries one merged fix:
tests/stacks/20-boundary.test.shnever removed the images composebuilt. 1.14.1 fixed containers, networks and volumes; images were the one
resource left, and the tag list grew without bound (237 over 28 run ids).
Plus: CHANGELOG entry, and
template/deployment/repinned tov1.14.3.Why this is a fix and not a trade
Keeping the images was never buying anything. The project name carries
$$, socompose tags what it builds
sattest-<pid>-<shape>-<service>— unique per run,and the next run cannot reuse the tag whatever we do.
docker rmidrops the tagand not the build cache, so the rebuild is free. Measured back to back, second
run starting with every image the first had built already deleted: 93s then
98s.
Not a disk fix — the 1.14.1 entry's calibration still holds, deleting these
reclaims roughly nothing. It is the networks argument: a resource the suite
creates every run and never removes is a number that only goes up, and whoever
runs the suite next pays for finding the ceiling.
Expected skip
tests/stacks/20-boundaryskips the template for the duration of this PR — therepin names
v1.14.3, which does not exist until this merges.Upgrading
Nothing to do, nothing to rebuild. No image, template or bank entry changed.
Leftover
sattest-*images from before are swept by the nexttests/run.sh stacks.🤖 Generated with Claude Code
https://claude.ai/code/session_01K7ZLAqx3456HP7BAY9gmqA