Both checklists' ARG CACHEBUST item now carries the exception
REPO_POLICIES.md gives: a step that also installs anything else, such as a
script/bootstrap that installs node packages too, comes after the line. The
verify item now says only a step that lints or tests, below ARG CACHEBUST,
must not show CACHED; the package install and module download above the line
are expected to.
Model: opus-5-5
On sneak's ruling in #130, check
builds may keep three more things besides Go's build cache. In each stage
of the canonical Go Dockerfile, the system-package install and the module
download now come before ARG CACHEBUST, so Docker keeps those layers until
the base image, the install line, go.mod or go.sum changes. The modules
are kept as a layer, not a cache mount, because Go does not check a cache
mount's files again. golangci-lint run also mounts golangci-lint's cache.
Every step that lints, tests or compiles still comes after ARG CACHEBUST
and reruns on every check build, and both go test runs keep -count=1. The
policy, both checklists, the Go style guide, the README and the script
comments state the rule the same way.
Model: opus-5-5