Release on push so fork contributions can publish - #29
Conversation
A pull request from a fork runs with a read-only GITHUB_TOKEN and no secrets even on merge, so the release job cannot create the release and the publishing jobs have no credentials - while the run still reports success. A push to main always runs with a full-permission token, and the release action resolves the merged pull request and its label from the commit rather than from the event payload. Concurrency stops cancelling as part of this: every merge to main shares one group, so the next merge would otherwise cancel a release possibly mid-publish. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Catching a missing label after the merge means the release is already lost and has to be cut by hand. Requiring it on the pull request moves the failure to where it costs nothing to fix, and removes the race where a label added just after the merge lands too late to count. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Reviewer context. Part of an org-wide migration; Why. A fork pull request runs with a read-only Not
Depends on release-action v1.2.0, which added the The No Specifications-specific. There is no separate Verification. Parses as YAML; trigger resolves to |
Summary
A pull request from a fork cannot cut a release, and the run reports success anyway — so a merged, labeled contribution silently publishes nothing.
Added
major,minororpatchlabel before a pull request can be merged.Changed
maininstead of on the pull request closing, so contributions from forks publish like any other.