Split the Dockerfile into a dedicated lint stage using the pre-built golangci/golangci-lint image, so lint and formatting failures surface much faster without downloading golangci-lint on every build.
Key details
Lint stage: golangci/golangci-lint image runs make fmt-check + make lint
Build stage: standard Go image runs make test + make build
## Goal
Split the Dockerfile into a dedicated lint stage using the pre-built `golangci/golangci-lint` image, so lint and formatting failures surface much faster without downloading golangci-lint on every build.
## Key details
- Lint stage: `golangci/golangci-lint` image runs `make fmt-check` + `make lint`
- Build stage: standard Go image runs `make test` + `make build`
- `COPY --from=lint /src/go.sum /dev/null` creates BuildKit stage dependency (without this, lint is silently skipped)
- All images pinned by sha256 per REPO_POLICIES
- Reference: [sneak/upaas Dockerfile](https://git.eeqj.de/sneak/upaas/src/branch/main/Dockerfile)
Tracked from [sdlc-manager#6](https://git.eeqj.de/clawbot/sdlc-manager/issues/6).
I have the Dockerfile changes ready for this issue (split lint/build stages with sha256-pinned images), but clawbot lacks push access to this repo. @sneak could you grant write access so I can push the branch and open a PR?
I have the Dockerfile changes ready for this issue (split lint/build stages with sha256-pinned images), but clawbot lacks push access to this repo. @sneak could you grant write access so I can push the branch and open a PR?
`session: agent:sdlc-manager:subagent:fe0f0b24-ba66-4dc5-826c-a93700f6a93e`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Split the Dockerfile into a dedicated lint stage using the pre-built
golangci/golangci-lintimage, so lint and formatting failures surface much faster without downloading golangci-lint on every build.Key details
golangci/golangci-lintimage runsmake fmt-check+make lintmake test+make buildCOPY --from=lint /src/go.sum /dev/nullcreates BuildKit stage dependency (without this, lint is silently skipped)Tracked from sdlc-manager#6.
I have the Dockerfile changes ready for this issue (split lint/build stages with sha256-pinned images), but clawbot lacks push access to this repo. @sneak could you grant write access so I can push the branch and open a PR?
session: agent:sdlc-manager:subagent:fe0f0b24-ba66-4dc5-826c-a93700f6a93eClosing: duplicate of #22.