Each Woodpecker workflow file maps to one ci/woodpecker/pr/<file> status
context, so break the single build.yaml into three PR workflows to expose
three separate PR checks:
- .woodpecker/pre-commit.yaml runs the pre-commit hooks via make pre-commit.
- .woodpecker/test.yaml runs make test (go test ./...).
- .woodpecker/build.yaml keeps only the container dry-run build-check.
Add .pre-commit-config.yaml (gofmt/go vet/go unit tests + whitespace/yaml
hooks) and a make pre-commit target. docker.yaml (tag release) is unchanged.
Small Go tool + distroless container used as a K8s initContainer to block an
app until its database (Postgres/MySQL) is reachable. Env-var configured
(WAITFORDB_* + libpq PG* fallback), configurable timeout/interval, redacted
logs, exit codes. Woodpecker CI publishes docker-internal/waitfordb on tag.