Skip to content

✨ feat(release): share validation and upkeep - #3

Merged
gaborbernat merged 167 commits into
mainfrom
fix/semantic-release-gate
Oct 23, 2026
Merged

gaborbernat merged 167 commits into
mainfrom
fix/semantic-release-gate

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Share the release path across the rollout repositories. A keyless job assembles and validates the Towncrier patch in a fresh worktree; a separate writer verifies the patch before using the repository-scoped App key. The reusable preparation workflow reads paths and categories from the committed Towncrier configuration.

Nab's universal lock supplies only the release groups each job needs and hashed build constraints for selected targets. The weekly updater handles the main lock and an optional target-specific build lock. PyPI publication uploads the complete distribution set, then checks the Simple API files and their trusted-publisher attestations. GitHub Release publication verifies uploaded asset attestations.

The verify-only PyPI Action uses the CLI in release-creator #14. After that package is released, this PR's lock can move from 0.5.1 to the published version.

The 0.2.0 release rendered bare fragment stems instead of pull request
links and author credits. Correct its tracked changelog and make the
runner rehearsal fail when either credit is missing.

Use the unreleased release-creator commit for validation. Switch the
lock back to PyPI and rerun the gate before merging.
@gaborbernat gaborbernat added the bug Something isn't working label Oct 19, 2026
Seventeen publisher workflows use the same uv wheel and sdist command. Put their locked-tool install, tagged-source prek check, and build in one Action so the publisher and PR rehearsal can run identical steps.
@gaborbernat gaborbernat changed the title 🐛 fix(release): verify PR credits in notes ✨ feat(release): share checked release Actions Oct 20, 2026
Use a universal lock and target-specific hashed build constraints across the shared actions. Validate the release patch in a keyless worktree before granting the App key. Upload complete PyPI distributions and verify Simple API files and provenance. Remove obsolete staging actions and single-value inputs.
Use the shared lock for shared-only tools and check staged Towncrier deletions through release-creator. Require release tags to be on main, and use one pinned Nab bootstrap across the Actions.
@gaborbernat
gaborbernat marked this pull request as ready for review October 23, 2026 02:52
@gaborbernat
gaborbernat merged commit 5aa2634 into main Oct 23, 2026
12 checks passed
@gaborbernat
gaborbernat deleted the fix/semantic-release-gate branch October 23, 2026 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant