Fail a bare docker build instead of serving cached gates (closes #39)
check / check (push) Failing after 3s
check / check (push) Failing after 3s
Each Dockerfile stage that runs gates now checks, right after its ARG CHECK_EPOCH, that the value is not empty, and stops with a message naming script/cibuild and script/docker. A plain `docker build .` can no longer report a green from cached gate layers. script/cibuild and script/docker now append the process id to the epoch, the form script/lint already uses, so two runs started in the same second still get different values. README says both. TODO.md corrects the steady-state CACHED count recorded for issue 32 from twelve to thirteen. Model: opus-5-5
This commit was merged in pull request #93.
This commit is contained in:
+5
-2
@@ -21,14 +21,17 @@
|
||||
# serves the gate layers from cache and the build reports a green it
|
||||
# never earned. Passing the current epoch invalidates the gate
|
||||
# layers on every run while leaving the pinned base images and
|
||||
# go mod download cached; see the Dockerfile for the placement.
|
||||
# go mod download cached; see the Dockerfile for the placement. The
|
||||
# process id goes in with the epoch so that two runs started in the
|
||||
# same second still get different values, the same form script/lint
|
||||
# uses.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
|
||||
main() {
|
||||
cd "$ROOT"
|
||||
docker build --build-arg CHECK_EPOCH="$(date +%s)" .
|
||||
docker build --build-arg CHECK_EPOCH="$(date +%s)-$$" .
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user