Run all linting in Docker via Dockerfile.lint (closes #90)
check / check (push) Successful in 1m47s
check / check (push) Successful in 1m47s
script/lint now only builds the new Dockerfile.lint, which copies the repo into the pinned golangci-lint image and runs the linter as a build step, so a successful build is a clean lint. It builds with --no-cache, because a cached build runs no linter, and removes the image it tagged when it exits. The main Dockerfile lint stage calls golangci-lint directly, since make lint now needs Docker. Nothing installs or runs golangci-lint on the host any more: bootstrap and the Makefile drop the install, and script/fmt drops golangci-lint run --fix. The gofmt check script/lint repeated stays in script/fmt-check. Model: opus-5-5
This commit is contained in:
+3
-1
@@ -14,7 +14,9 @@ RUN touch mfer/mf.pb.go
|
||||
# Go half of fmt-check only: this image has no node, so no prettier. The
|
||||
# markdown half runs in the mdfmt stage below.
|
||||
RUN make fmt-check-go
|
||||
RUN make lint
|
||||
# The linter directly, not `make lint`: script/lint builds Dockerfile.lint,
|
||||
# and there is no docker inside this build.
|
||||
RUN golangci-lint run --config .golangci.yml ./...
|
||||
|
||||
# Markdown/JSON format stage — prettier needs node, which the Go images
|
||||
# do not have. node:22.17.0-bookworm-slim (2026-08-09); ships node
|
||||
|
||||
Reference in New Issue
Block a user