Re-vendor the canonical files from sneak/prompts at dd4027b (closes #213)
check / check (push) Failing after 4s
check / check (push) Failing after 4s
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. The image takes its version from the VERSION build arg or git describe, and still stamps the commit and its date from .git. 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", the version script/docker stamps outside a git checkout. 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