4482529f6a
Split Dockerfile: pre-built golangci-lint stage for faster CI ( #26 )
...
Closes [#22 ](#22 )
## Changes
### Makefile
- Added `fmt-check` target: checks gofmt formatting without modifying files
- Added `hooks` target: installs pre-commit git hook
- Updated `check` target: now runs `fmt-check lint test`
- Removed redundant gofmt check from `lint` target (now in `fmt-check`)
- Added `.PHONY` declarations for all phony targets
- Updated `tools` target to use `go install`
### Dockerfile
- **Lint stage**: Uses pre-built `golangci/golangci-lint:v1.64.8` (sha256-pinned)
- Runs `make fmt-check` and `make lint` for fast feedback
- **Build stage**: Uses `golang:1.24-bookworm` (sha256-pinned, matches go.mod 1.24.0)
- `COPY --from=lint` forces BuildKit to actually run the lint stage
- Runs `make test` then `make build`
- **Runtime stage**: Uses `debian:bookworm-slim` (sha256-pinned)
- All base images updated from ancient/unpinned versions to current sha256-pinned images
- Removed vendoring/source tarball per CLAUDE.md policy
### CI
- Added `.gitea/workflows/check.yml`: runs `docker build .` on push to main and PRs
## Image Versions
| Stage | Image | Digest |
|-------|-------|--------|
| lint | golangci/golangci-lint:v1.64.8 | sha256:2987913e...5cb8 |
| build | golang:1.24-bookworm | sha256:1a6d4452...77ac |
| runtime | debian:bookworm-slim | sha256:74d56e39...4421 |
## Verification
`docker build .` passes locally — all stages (lint, test, build) execute correctly.
<!-- session: agent:sdlc-manager:subagent:bcf4d5ff-f487-4dcb-aa85-1c0e039bbb3b -->
Co-authored-by: clawbot <clawbot@noreply.git.eeqj.de>
Reviewed-on: #26
Co-authored-by: clawbot <clawbot@noreply.example.org>
Co-committed-by: clawbot <clawbot@noreply.example.org>
2026-03-02 21:11:17 +01:00
4d746027dc
remove Buildarch from globals - is available at runtime
2026-01-11 04:05:11 -08:00
fb347b96df
Replace zerolog with log/slog from stdlib
...
- Rewrite logger package to use slog with LevelVar for dynamic levels
- Update all packages to use *slog.Logger instead of *zerolog.Logger
- Use TextHandler for TTY (dev), JSONHandler for production
- Add make check target (runs lint + test)
- Add make test target
2025-12-27 12:02:05 +07:00
61228b4586
embed static files now ( #14 )
...
continuous-integration/drone/push Build is failing
Co-authored-by: sneak <sneak@sneak.berlin>
Reviewed-on: #14
2022-11-28 00:19:47 +00:00
885a43709e
install rice during docker build
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2020-10-29 06:44:47 -07:00
7cc2628b05
now uses rice
continuous-integration/drone/push Build is failing
2020-10-28 17:47:37 -07:00
c19f9d0eb2
seems to embed files
continuous-integration/drone/push Build is failing
2020-10-28 16:46:22 -07:00
2b428230b2
switch to gofumpt
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2020-10-10 15:08:37 +00:00
1d84fac678
clean up docker build
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2020-10-04 14:32:06 -07:00
876f2d9a98
now supports remote error reporting to sentry, if desired
continuous-integration/drone/push Build is failing
2020-09-30 21:59:20 -07:00
5526397247
middlewares all now have the same signature
continuous-integration/drone/push Build is failing
2020-09-30 01:18:30 -07:00
eaa2f2b929
initial
2020-09-29 23:35:07 -07:00