Run golangci-lint only in docker, on every run (closes #55)
check / check (push) Successful in 1m17s
check / check (push) Successful in 1m17s
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
This commit is contained in:
@@ -496,15 +496,18 @@ standard: normalized scripts in `script/` are the entrypoints for the
|
||||
development workflow, and the Makefile targets are thin shims that call
|
||||
them. We provide:
|
||||
|
||||
- `script/bootstrap` — install all dependencies (Go, golangci-lint, Go
|
||||
module download), idempotently
|
||||
- `script/bootstrap` — install all dependencies (Go, Go module
|
||||
download), idempotently; golangci-lint is not installed, it runs in
|
||||
docker
|
||||
- `script/setup` — make a fresh clone ready for development: runs
|
||||
`script/bootstrap`, then `script/install-precommit`
|
||||
- `script/projectname` — output the project name (`secret`); used by
|
||||
other scripts such as `script/docker`
|
||||
- `script/test` — run `go vet` and the test suite (verbose rerun on
|
||||
failure)
|
||||
- `script/lint` — run `golangci-lint`
|
||||
- `script/lint` — run `golangci-lint` in docker only: builds
|
||||
`Dockerfile.lint`, where the linter is a build step that runs on every
|
||||
call, also on an unchanged tree
|
||||
- `script/fmt` — format all Go code (writes)
|
||||
- `script/fmt-check` — check formatting without writing
|
||||
- `script/check` — run `script/test`, `script/lint`, and
|
||||
|
||||
Reference in New Issue
Block a user