## Summary
Add a dedicated lint stage using the pre-built `golangci/golangci-lint:v1.64.8` image for fast lint feedback, separate from the build stage.
## Changes
- **Lint stage**: Uses `golangci/golangci-lint:v1.64.8` (pinned by sha256) with protobuf-compiler installed for code generation, then runs `make lint`
- **Build stage**: Pins `sneak/builder:2022-12-08` by sha256 (`d61175...`), removes inline `golangci-lint run` (now in lint stage)
- **Final stage**: Unchanged — `FROM scratch` with binary and source archive
- `COPY --from=lint /src/go.sum /dev/null` creates BuildKit stage dependency to ensure lint always runs
- All image references pinned by sha256 digest per REPO_POLICIES
Closes [#41](https://git.eeqj.de/sneak/mfer/issues/41)
<!-- session: agent:sdlc-manager:subagent:b640dba6-09b2-4574-8891-757cb72adc9d -->
Add pre-built golangci/golangci-lint:v1.64.8 image as a separate lint
stage for fast lint feedback without rebuilding the entire builder.
- Lint stage: installs protobuf-compiler, generates code, runs make lint
- Build stage: pins sneak/builder by sha256, removes inline golangci-lint
- COPY --from=lint forces BuildKit to execute the lint stage
- All images pinned by sha256 digest
- Final stage (FROM scratch) unchanged
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.
Summary
Add a dedicated lint stage using the pre-built
golangci/golangci-lint:v1.64.8image for fast lint feedback, separate from the build stage.Changes
golangci/golangci-lint:v1.64.8(pinned by sha256) with protobuf-compiler installed for code generation, then runsmake lintsneak/builder:2022-12-08by sha256 (d61175...), removes inlinegolangci-lint run(now in lint stage)FROM scratchwith binary and source archiveCOPY --from=lint /src/go.sum /dev/nullcreates BuildKit stage dependency to ensure lint always runsCloses #41
Closing — the referenced issue #42 was already closed.
Pull request closed