generated from mathias/template-go-web
oathcandidate/ is a separate Go module (mirrors swedsl's own oath/testdata/selfcandidate pattern, keeping var-go's transitive deps out of the deployed atlas binary) whose Build() parses the committed .gitea/workflows/cd.yml and checks the "oath" job exists and invokes cmd/vargo-gate. TDD: passes against the real file, fails closed on a fixture missing the job. Rewires the oath CI job to go-run vargo-gate from its real module path (git.d-ma.be/mathias/swedsl/oath/cmd/vargo-gate@oath/v0.28.0, unblocked by swedsl#35/#38) against VARGO_CANDIDATE_DIR=oathcandidate, instead of checking out swedsl and gating its hardcoded toy fixture. Private-module auth via a short-lived GIT_ASKPASS script (token never in argv, never written to git config, matches act_runner's env:-block-with-secrets gotcha). Discovered along the way: var-go's parser needs single-line, period-separated oath sentences with no Given/When/Then/And keyword stripping — this repo's older oaths (incl. #1) used an unverified multi-line keyword-prefixed style. #8's oath uses the proven format. Still not required by branch protection pending a real-PR confirmation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
19 lines
612 B
AMPL
19 lines
612 B
AMPL
// Package oathcandidate is cad-atlas's committed real candidate: the STEPS that
|
|
// gate its own CI-workflow oath (cad-atlas#8). Deliberately a separate module (not
|
|
// part of the main cad-atlas module) so var-go's transitive deps (cucumber-expressions,
|
|
// goldmark) never link into the deployed atlas binary — mirrors swedsl's own
|
|
// oath/testdata/selfcandidate pattern.
|
|
module oathcandidate
|
|
|
|
go 1.26.4
|
|
|
|
require (
|
|
git.d-ma.be/mathias/swedsl/oath v0.28.0
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|
|
|
|
require (
|
|
github.com/cucumber/cucumber-expressions/go/v18 v18.1.0 // indirect
|
|
github.com/yuin/goldmark v1.8.2 // indirect
|
|
)
|