check / check (push) Successful in 16m13s
Linting and testing become the lint and test phases of the Dockerfile, and the build stage depends on both. Dockerfile.lint, CHECK_EPOCH and the tests that checked them are removed. Every docker build in script/ passes --no-cache, and script/cibuild runs script/bootstrap first, which now fetches apt package lists so a fresh CI runner can install Go. The image takes its version from the VERSION build arg or git describe, dev without .git, and still stamps the commit and its date. This repo's own entries follow the canonical content in .gitignore and .editorconfig. The golangci-lint v2.14.0 findings are fixed in the code. The rules in CLAUDE.md move into AGENTS.md. IsDevVersion now counts "unknown". Model: opus-5-5
24 lines
755 B
Bash
Executable File
24 lines
755 B
Bash
Executable File
#!/bin/sh
|
|
# script/lint: run the linter. Linting is a phase of the Dockerfile and
|
|
# this builds that phase alone; the linter is never installed or run on
|
|
# a developer host, where a shared result cache and a host-global lock
|
|
# make its answer untrustworthy.
|
|
#
|
|
# The phase is not the last stage in the file, so it is built only when
|
|
# --target names it. --no-cache because a cached lint layer is a lint
|
|
# that did not run. The tag makes each build replace the previous image
|
|
# instead of leaving a dangling one behind.
|
|
set -eu
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)"
|
|
ROOT="$(cd "$SCRIPT_DIR/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
docker build --no-cache \
|
|
--target lint \
|
|
-t "$("$SCRIPT_DIR/projectname")-lint" .
|
|
}
|
|
|
|
main "$@"
|