#!/bin/sh # script/cibuild: run the CI build. The Dockerfile runs script/check # (via make check), so a successful build implies all checks pass. # Generic: needs no adaptation. The Gitea workflow runs this on push. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" main() { cd "$ROOT" # CHECK_EPOCH changes on every invocation, which invalidates the # Dockerfile layers that run the checks. Without it an unchanged # tree replays those layers from cache, the checks never execute, # and the build still exits 0. The ARG sits immediately above the # check RUNs, so dependency and module layers still cache. docker build --build-arg CHECK_EPOCH="$(date +%s)" . } main "$@"