mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
A version bump that only changes a build argument never reached a running container. In compose mode a changed compose.yml only notified compose-up, and `compose up` reused the existing image under the unchanged tag. In swarm mode registry_sync skipped every push whose tag already existed in the registry, so a rebuilt image never reached the nodes. Compose mode now reads the rendered compose file back and records the docker_build_digest of its build sections (context, dockerfile, args) in .build-inputs; only a change of that digest notifies compose-build, so a port or env change still costs no build. registry_sync records the local image ID it pushed for every locally built image in .pushed-images.json and skips a push only when the tag is in the registry and the ID is unchanged. External images keep the plain registry skip. Comparing against the registry manifest instead would depend on the image store: with the containerd store or BuildKit attestations the local ID is an index digest, not the config digest the manifest carries. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>