feat(workflows): add adopter parse guard #991
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!991
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rigger/841-workflow-parse-guard"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracker
Closes #841
Intended-targets: #841
Measurement
3f3dea24adcdf0aca1dece23cd6a64aa619541f2..yml/.yamlworkflow files.probe-draft-publish-2;e-trainande-train-mcpeach contribute their soleci.yamlworkflow.Change
tests.ymlintoscripts/workflow-parse-check.sh.reusable-workflow-parse-check.ymland toolkit-selfworkflow-parse-check.yml; the checker independently counts top-level workflows and emitsPARSED=<n> TOTAL=<n>.internal/wrappers.Discoverremains separate: it classifies release-toolkit reusable references and is not a workflow schema parser.Verification
v12.8.2, sha2567be27f32a9a4a9bb701a3d8949069641816b7407eeacf9bfe441d3ba712a547e.PARSED=20 TOTAL=20, exit 0..forgejo/workflows/mutation.ymlnamed,PARSED=20 TOTAL=21, exit 1.bats --print-output-on-failure tests/: 105/105.go test -count=1 ./...,go vet ./...,go build ./..., YAML parse: all pass.shellcheck scripts/workflow-parse-check.sh: clean. Full-script ShellCheck still reports the pre-existingSC2016atscripts/contract-paths-check.sh:39; that file is untouched.645ee5f123f6353e5718d8d244cd02ea28c20876.The close-keyword hazard is documented without a negated or cross-repository trigger. This local completion relation is intentional after all three ACs were ticked. The existing AC-closure control fixture remains unchanged because its literal trigger is the separate gate's test input.
No external repositories were edited. No review was requested and no merge was performed.
REQUEST_CHANGES — exact head
645ee5f123Finding (blocking): docs/adopter-workflow-parse-guard.md:114-123 has a malformed Reference safety paragraph. Line 117 ends with “Keep that literal form” and line 118 immediately starts “For a non-completion reference…”. The complete instruction to keep an unqualified close keyword out of PR bodies/comments was dropped, leaving a sentence fragment and omitting the safety action this new adopter-facing section is meant to teach. Restore the intended sentence, then retain the qualified-reference and local-completion guidance.
Evidence: the parser-backed checker passes against the exact tree (PARSED=20 TOTAL=20); its invalid-workflow mutation returns rc=1 and names mutation.yml. Local checks pass: go test ./..., go vet ./..., go build ./..., Bats 105/105, YAML parse, ShellCheck, and git diff --check. Forgejo reports 24/24 statuses successful. No code or control defect found beyond the documentation blocker above.
APPROVED — exact head
dd06515805The prior documentation blocker is fixed: the Reference safety paragraph now clearly instructs readers to keep an unqualified close keyword out of PR bodies/comments when it is not intended to close a same-repository tracker, while retaining the qualified-reference and completion guidance. I re-read the complete diff at this head and found no further issues.
Evidence: actual Forgejo validator run records PARSED=20 TOTAL=20; the invalid-workflow mutation returns rc=1 and names mutation.yml. Local checks pass: go test ./..., go vet ./..., go build ./..., Bats 105/105, YAML parse, ShellCheck, and git diff --check. Forgejo reports 25/25 statuses successful.