release: give the dispatch tag input an explicit type #234
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/dispatch-input-type"
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?
Problem
workflow_dispatchdeclarestagwithdescriptionandrequiredbut notype. Forgejo's Run workflow form switches ontypeto choose a widget, so with none it rendersInvalid input type ""and emits no field at all. The required input cannot be supplied, and the workflow cannot be dispatched.That makes the recovery path #233 exists to provide unreachable, including from inside itself. The
guardjob files an issue whose remedy reads:Which was a dead end.
Fix
type: string, plus a comment on why the field is not redundant next todescriptionandrequired.Why nothing caught it
Nothing could, and that is worth stating so the next person does not go looking for the test that should have failed. The YAML is valid, all four jobs parse, and a tag push never reads the
workflow_dispatchblock. The defect exists only in the dispatch form, which no job renders.Blast radius
tagis the only dispatch input in the repository:ci.ymlandforseti-review.ymldeclare noworkflow_dispatch. The only reference to it anywhere inrelease.ymlis theinputs.tag || github.ref_namefallback inprepare, and the fourgithub.*context fields the file reads (server_url,repository,run_number,ref_name) are populated on both a tag push and a dispatch. So nothing else in the file assumes something the form cannot supply.If
inputs.tagwere somehow empty on a dispatch,RAW_TAGbecomes the dispatching branch name, whichpreparerejects twice over: notv<major>.<minor>.<patch>, and not present in the tags collection. It fails closed.Note on the branch
This was meant to go straight to main.
mainis protected withenable_push: falseand an empty push whitelist, so a direct push is refused regardless of who makes it, hence the PR. The commit is signed andrequire_signed_commitsis satisfied.required_approvalsis 0, so this can merge as soon as checks pass.Refs #232
Forseti review
No blocking findings from the lead reviewer.
No inline findings.
rasterstate/fj#2342b2e551305f2sha256:e94dc8b8f21a9f6198fc22f5a39bd9f76312c457f4615aca7c4390d87cbf0182openai:gpt-5.5+anthropic:claude-haiku-4-5-2025100100GITHUB_TOKENf4ed4378e213Forseti review
No blocking findings from the lead reviewer.
No inline findings.
rasterstate/fj#2342b2e551305f2sha256:e94dc8b8f21a9f6198fc22f5a39bd9f76312c457f4615aca7c4390d87cbf0182openai:gpt-5.5+anthropic:claude-haiku-4-5-2025100100GITHUB_TOKENf4ed4378e213