feat: automate release process - #357
Draft
NicoleMGomes wants to merge 8 commits into
Draft
NicoleMGomes wants to merge 8 commits into
NicoleMGomes wants to merge 8 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Replaces the manual GitHub-Release-driven publish flow with a fully automated issue-driven pipeline. A new
/release-prepskill diffs the branch against the latest tag, classifies commits by Conventional Commit type, proposes a SemVer version bump, generates structured release notes, and creates a GitHub Issue withrelease+status: pending testslabels. An external automation test repo monitors those issues, runs tests, and updates the status label. Whenstatus: tests passedis applied, the refactoredrelease.ymlworkflow bumpspyproject.toml, commits, tags, builds, creates the GitHub Release, publishes to PyPI via OIDC, and closes the issue. A/prep-prskill fills in the PR template from the branch diff.check-version-bump.yamlnow rejects manual version changes in PRs — the release workflow owns all version bumps.docs/RELEASE.mdis rewritten to document the new process end-to-end.Related Issue
Closes #<issue_number>
Type of Change
How to Test
/release-prepon any branch with commits ahead of the latest tag — confirm a release issue is created with labelsrelease+status: pending testsand structured### Version/### Branch/### Release Notessections in the body.status: tests passedto a release issue — confirm theReleaseworkflow triggers, parses the issue body correctly, and progresses through label states (releasing→released)./prep-pr— confirm it proposes a filled-in PR body derived from the diff and offers to create or update the PR.version =line inpyproject.toml— confirmcheck-version-bump.yamlfails with the message directing to/release-prep.docs/RELEASE.md— confirm the pipeline diagram, step numbering, and failure-handling table match the actual workflow behaviour.Checklist
Additional Notes
validate_prerelease.py(.github/scripts/) is no longer called by the release workflow — pre-release status is now derived inline from the version string. It can be removed in a follow-up.check_version_bump.pyis still used byrelease.ymlto validate the issue version is greater than the currentpyproject.tomlversion before bumping.