Run the checks on every script/cibuild and script/docker build (closes #101)
check / check (push) Successful in 12m55s

Both scripts pass a new CHECK_EPOCH, which the Dockerfile's make
fmt-check, make lint and make test steps name in their commands. On an
unchanged tree Docker used to serve those steps from its build cache, so
a run could pass without checking anything. The script/bootstrap steps
stay cached. A plain docker build . still works, as upaas builds the
image that way: it leaves CHECK_EPOCH empty and reuses the check steps
only for an identical build context.

Model: opus-5-5
This commit was merged in pull request #170.
This commit is contained in:
2026-10-04 03:58:35 +02:00
parent 697c14633b
commit b402eaf88c
5 changed files with 37 additions and 14 deletions
+7 -4
View File
@@ -1,15 +1,18 @@
#!/bin/sh
# script/cibuild: run the CI build. The Dockerfile runs the checks
# (make fmt-check, lint, test), so a successful build implies a green
# repo. Generic: needs no adaptation. The Gitea workflow runs this on
# push.
# (make fmt-check, lint, test) as build steps. This script passes a new
# CHECK_EPOCH on every run, so Docker runs those steps instead of
# reusing cached results: a successful run means the checks ran and
# passed on this tree. Generic: needs no adaptation. The Gitea workflow
# runs this on push.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
main() {
cd "$ROOT"
docker build .
epoch="$(date +%s)$$"
docker build --build-arg CHECK_EPOCH="$epoch" .
}
main "$@"