cibuild: run checks on unchanged trees via CHECK_EPOCH (closes #89)
check / check (push) Successful in 1m4s
check / check (push) Successful in 1m4s
A bare `docker build .` keyed `make fmt-check-go`, `make lint`, the prettier check, and `make test` on the build context, so on an unchanged tree every check layer was a cache hit: the build exited 0 in under a second having run none of them. Add `ARG CHECK_EPOCH` immediately above the first check RUN in all three check stages (lint, mdfmt, builder), and have script/cibuild pass a fresh `--build-arg CHECK_EPOCH` each run. The changing value busts the cache from that point down, while `go mod download` and `yarn install` above it stay cached, so the build does not regress to cold. The false claim in script/cibuild's header comment is corrected. Running the checks for real surfaces the pre-existing intermittent internal/cli test timeout (the gpg-subprocess flake in #62 / #67); that defect is out of scope here. Model: opus-4-8
This commit is contained in:
@@ -24,6 +24,8 @@ only thing left of the `chore/align-repo-policies` branch is the list below.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-09-21: made `script/cibuild` re-run the checks on an unchanged tree via a
|
||||
changing `CHECK_EPOCH` build arg in each Dockerfile check stage (#89)
|
||||
- 2026-10-02: a plain `docker build .` of a clone now stamps the tag or short
|
||||
commit into `mfer version` instead of nothing: `.dockerignore` sends `.git`
|
||||
(not `.git/config`), and the build stage takes the `VERSION` build argument,
|
||||
|
||||
Reference in New Issue
Block a user