Bump python-semantic-release and support release from minor and patch branches - #218
Merged
AlexDanDuna merged 11 commits intoJul 14, 2026
Conversation
Updated the branch pattern for semantic release to allow releases from master and versioned branches.
AlexDanDuna
requested review from
cameronwaterman,
rbell517 and
spanglerco
as code owners
July 14, 2026 13:30
Added environment variable GH_TOKEN for semantic-release.
rbell517
approved these changes
Jul 14, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the release tooling/configuration to support cutting minor/patch releases from maintenance branches named like 1.x and 1.2.x, alongside the primary branch release flow.
Changes:
- Updated
python-package.ymlto run CI on*.xbranches and adjusted the release job to usepython-semantic-releasev10 with separate version/publish steps plus Twine-based PyPI upload. - Updated
pyproject.tomltool.semantic_releaseconfiguration to allow releases frommasterand maintenance branches matching a versioned*.xpattern. - Added contributor documentation describing the workflow for patching older versions.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
pyproject.toml |
Switches semantic-release branch configuration to support maintenance *.x branches. |
CONTRIBUTING.md |
Documents the process and naming convention for patch/minor maintenance branches. |
.github/workflows/python-package.yml |
Expands workflow triggers to *.x branches and updates the release job to the v10 semantic-release flow with Twine publishing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…kages uneder dist/ Previous implementation assumed that just running `semantic-release version` will set the 'released' parameter in the 'release' step's output to 'true', which was incorrect. This only happens for the Python Semantic Release GitHub Action, not when running `version` from the command line.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
AlexDanDuna
added a commit
to AlexDanDuna/nisystemlink-clients-python
that referenced
this pull request
Jul 15, 2026
…d patch branches (ni#218)
AlexDanDuna
added a commit
that referenced
this pull request
Jul 15, 2026
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.
What does this Pull Request accomplish?
Allow releasing new minor and patch versions from branches following the format `1.x' and '1.2.x':
python-semantic-releaseversion as v7 (which was used previously) did not allow for regex in the branch name. I bumped the version to the latest v10.6.1, given the fact that v10 and v9 did not really introduce breaking changes, and upgrading to v8 would require adaptations anyway:semantic-release publishno longer creates the GitHub release, nor publishes to PyPi. According to the docs (see here and here), this now has to be replaced by runningsemantic-release version(which builds the packages, creates the GH release, and the tag), publishing the package to the GH release by runningsemantic-release publish, and publishing the package to PyPi (I used twine for this).Why should this Pull Request be merged?
To ease the release of patched versions in the future. The implementation is generic and supports all branches that have a version, ending in ".x", as their names.
What testing has been done?
I tested the modifications on my own fork, with my own PyPi account: