check / check (push) Successful in 1m26s
script/lint builds the new Dockerfile.lint, where golangci-lint runs as a build step. The lint stage is rebuilt on every run, so an unchanged tree is linted too; the module download stays cached. script/bootstrap no longer installs golangci-lint. The Dockerfile lint stage calls golangci-lint directly, since make lint now starts a docker build. golangci-lint config verify is not run: it fetches its schema live over unpinned HTTPS. Model: opus-5-5
25 lines
720 B
Bash
Executable File
25 lines
720 B
Bash
Executable File
#!/bin/sh
|
|
# script/lint: run the linter, in docker only. Builds Dockerfile.lint,
|
|
# where golangci-lint runs as a build step.
|
|
#
|
|
# A cached build lints nothing, so --no-cache-filter rebuilds the lint
|
|
# stage on every run, an unchanged tree included. It ignores a stage name
|
|
# that does not exist, so --target names the same stage: a rename then
|
|
# fails the build instead of serving the lint from cache. cacheonly keeps
|
|
# no image; only the build's success matters.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
docker build \
|
|
--progress=plain \
|
|
--target lint \
|
|
--no-cache-filter=lint \
|
|
--output=type=cacheonly \
|
|
-f Dockerfile.lint .
|
|
}
|
|
|
|
main "$@"
|