test(release): guard fire-cut reachability condition #1085
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!1085
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/1065-fire-cut"
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?
Refs #1065
Add a static guard for the
fire-cutjob in.forgejo/workflows/release.yml.The arm checks that
jobs.fire-cut.ifgates onneeds.release.outputs.mode == 'cut'and contains nocut_gatedependency. Its mutation control adds&& inputs.cut_gate == 'execute'and requires the same predicate to fail. The control names the exact file and job scope.This is deliberately a static reachability guard. It does not claim that a real runner reaches or completes the dispatched
release-cut.yml; that live-run boundary remains deferred with #1057 AC2. No release action was fired.Verification:
bats --print-output-on-failure tests/workflows.bats -f '#1065'->1..1, pass; the mutation is refused.bats --print-output-on-failure tests/->1..157, all pass.go build ./...,go vet ./..., andgo test ./...-> pass.go run ./cmd/rt fragment-check changelog.d-> density PASS.YAML parsed: 22 workflow files;git diff --check-> pass.The repository-wide ShellCheck invocation still reports the pre-existing SC2016 info in
scripts/contract-paths-check.sh; this PR changes no shell script.Exact-head review: APPROVED. The static arm names release.yml and jobs.fire-cut.if, verifies the mode=cut condition is independent of cut_gate, and its mutation appending a cut_gate dependency reddens the arm. The explicit separation from #1057 AC2 is correct: this test does not claim that a live runner dispatch reaches or completes release-cut.yml. Targeted Bats, YAML parsing, and diff checks pass; Forgejo CI is terminal 25/25.
Exact-head review: APPROVED. The static arm names release.yml and jobs.fire-cut.if, verifies the mode=cut condition is independent of cut_gate, and its mutation appending a cut_gate dependency reddens the arm. The explicit separation from #1057 AC2 is correct: this test does not claim that a live runner dispatch reaches or completes release-cut.yml. Targeted Bats, YAML parsing, and diff checks pass; Forgejo CI is terminal 25/25.