Skip to content

🐛 fix(release): finish recovered releases from main - #296

Merged
gaborbernat merged 2 commits into
tox-dev:mainfrom
gaborbernat:fix/finalize-release-recovery
Nov 4, 2026
Merged

gaborbernat merged 2 commits into
tox-dev:mainfrom
gaborbernat:fix/finalize-release-recovery

Conversation

@gaborbernat

Copy link
Copy Markdown
Member

The v2.4.8 GitHub release is still missing. The recovery workflow from #295 fails before it publishes anything, because its job requires the release environment, and that environment only allows v* tags while the workflow runs from main (see run 41798202652). 🚀 After this merges, a recovered release ends the way a normal tag run ends: the GitHub release is published, and then the version bump pull request is opened.

The recovery workflow keeps its verification role. It takes the tag, the source run and the artifact IDs, checks the downloaded plugin ZIP and release notes against the Marketplace acceptance receipt, and only then publishes. Write access sits on that one job. The release environment is no longer part of the path, because the job reads no secrets and the receipt check is what guards the artifacts.

The post-release jobs run after the publish job and use the same shared actions, with the same App token handling, as the tag workflow. They run in the release-auth environment, which already allows main, the branch this workflow is dispatched from. The tag workflow does not change.

The release environment only allows v* tags, but the finalize workflow is
dispatched from main, so its job was rejected before it ran. The job reads
nothing from the environment: it uses github.token and checks the downloaded
artifacts against the Marketplace acceptance receipt.

Write access moves from the workflow to the finalize job, so the permission
is scoped to the one job that needs it.
A release recovered through this workflow skipped the version bump that the
tag run opens after the GitHub release, so the next dev version never got
its pull request.

The finalize workflow now runs the same prepare and PR jobs as release.yaml,
with the same App token handling. The release-auth environment allows main,
the branch this workflow is dispatched from.
@gaborbernat gaborbernat added bug Something isn't working skip news No user-facing changelog entry needed labels Nov 4, 2026
@gaborbernat
gaborbernat merged commit 8b776f0 into tox-dev:main Nov 4, 2026
15 checks passed
gaborbernat added a commit that referenced this pull request Nov 4, 2026
The `finalize-github-release` workflow was added in
[#295](#295) and
[#296](#296) to finish
releases whose GitHub release step hit a 403. That recovery path fails
with the same 403, and the maintainer chose normal releases instead, so
the workflow has no purpose left.

Nothing else references it. Releases continue through the existing
release workflow, which this change leaves untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working skip news No user-facing changelog entry needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant