## Summary Rewrites the Dockerfile to use sha256-pinned images and proper multi-stage build structure. Adds missing Makefile targets and a Gitea CI workflow. ## Changes ### Dockerfile - **Lint stage**: `golangci/golangci-lint` v1.64.8 pinned by sha256 — runs `make fmt-check` + `make lint` - **Test stage**: `golang` 1.22.12 pinned by sha256 — runs `make test` with dependency on lint stage - Removed redundant final stage (this is a library with no binary to build) - Both images pinned by digest with version+date comments ### Makefile - Added `fmt-check` target: verifies `gofmt` compliance without modifying files - Added `check` target: runs `fmt-check`, `lint`, `test` in sequence - Added `hooks` target: installs a pre-commit hook that runs `make check` - Separated `gofmt` check from `lint` target (was previously bundled) - Changed default target from `test` to `check` ### CI - Added `.gitea/workflows/check.yml`: runs `docker build .` on push to main and on PRs ## Verification `docker build --progress plain .` passes — all stages complete successfully. closes #9 <!-- session: agent:sdlc-manager:subagent:fffa0a5a-5127-4489-a2e0-314c5eaaed68 --> Co-authored-by: clawbot <clawbot@noreply.git.eeqj.de> Reviewed-on: #14 Co-authored-by: clawbot <clawbot@noreply.example.org> Co-committed-by: clawbot <clawbot@noreply.example.org>
204 B
204 B