v0.3.0
CD / Detect unsubstituted template (pull_request) Successful in 0s
CD / Lint / Test / Vet (pull_request) Successful in 5s
CD / Build & Import (pull_request) Skipped
CD / Deploy via GitOps (pull_request) Skipped
CD / Detect unsubstituted template (push) Successful in 0s
CD / Lint / Test / Vet (push) Successful in 5s
CD / Build & Import (push) Skipped
CD / Deploy via GitOps (push) Skipped
Addresses the blocking finding from the review of this PR.
The harness matched golangci-lint's human-readable summary to decide pass or
fail, and discarded its exit status. Any failure that is not "found issues" --
bad config, unwritable TMPDIR, OOM, a future change to the output format --
produces non-matching text and was scored `ok`.
Since this harness is the only gate covering cmd/__PROJECT_NAME__, a linter
that dies would have left the entrypoint unchecked with CI green. That is the
precise defect class this file was added to end, which is why it blocked the
PR rather than being filed as a follow-up.
golangci-lint exits 0 clean / 1 issues found / >1 the linter itself failed.
Now graded on that, and the >1 case reports the child as UNCHECKED rather than
clean.
Two more from the same review:
- a missing tool now fails instead of `exit 0` with zero assertions, which
was indistinguishable from a real pass to anything reading the exit code.
It was unreachable in CI only by luck of task ordering, not by rule.
- Dockerfile joins the substituted file set. It builds ./cmd/__PROJECT_NAME__
and was outside the pattern, so the harness never validated the one path a
repo rename has historically broken here.
Verified by flipping each case:
crashing linter (exit 3) -> FAIL "the child is UNCHECKED, not clean"
tools absent -> FAIL, 0 passed
normal -> 5 passed, 0 failed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PROJECT_NAME
Generated from
mathias/template-go-web.
Bootstrap
After creating from template, run:
go mod tidy # regenerate go.sum with real module path
task generate # generate templ files
task build # build the binary
Languages
Shell
90.9%
Go
3.8%
templ
3.6%
Dockerfile
1.7%