Re-vendor the canonical files from sneak/prompts at dd4027b (closes #213)
check / check (push) Successful in 16m13s
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
This commit is contained in:
+9
-8
@@ -5,27 +5,28 @@
|
||||
#
|
||||
# THIS IS A DEVELOPER CONVENIENCE AND NEVER A GATE. Nothing in
|
||||
# script/check, script/precommit or script/cibuild calls it, and no gate
|
||||
# reads its exit status. The gate is script/lint, which builds
|
||||
# Dockerfile.lint; run that afterwards to find out whether the tree is
|
||||
# actually clean.
|
||||
# reads its exit status. The gate is script/lint, which builds the lint
|
||||
# phase of the Dockerfile; run that afterwards to find out whether the
|
||||
# tree is actually clean.
|
||||
#
|
||||
# Unlike script/lint this cannot be a build step: a build step writes
|
||||
# into an image, and fixes have to land in the worktree. So it runs the
|
||||
# same pinned image as a container with the tree bind-mounted, which
|
||||
# means it needs a LOCAL docker daemon -- a remote daemon has no access
|
||||
# to these files, and this script will appear to do nothing there. The
|
||||
# image reference is parsed out of Dockerfile.lint's FROM line, so the
|
||||
# image reference is parsed out of the lint phase's FROM line, so the
|
||||
# autofixer is always the same version as the linter that gates; fixes
|
||||
# written by a different version are not necessarily fixes for the
|
||||
# version that decides.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
DOCKERFILE="$ROOT/Dockerfile.lint"
|
||||
DOCKERFILE="$ROOT/Dockerfile"
|
||||
|
||||
# The image reference from Dockerfile.lint, tag and digest included.
|
||||
# The image reference from the FROM line ending `AS lint`, tag and
|
||||
# digest included.
|
||||
lint_image() {
|
||||
awk '$1 == "FROM" { print $2; exit }' "$DOCKERFILE"
|
||||
awk '$1 == "FROM" && $NF == "lint" { print $2; exit }' "$DOCKERFILE"
|
||||
}
|
||||
|
||||
main() {
|
||||
@@ -33,7 +34,7 @@ main() {
|
||||
|
||||
image="$(lint_image)"
|
||||
if [ -z "$image" ]; then
|
||||
echo "lint-fix: no FROM line found in $DOCKERFILE" >&2
|
||||
echo "lint-fix: no FROM ... AS lint line found in $DOCKERFILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user