-
Notifications
You must be signed in to change notification settings - Fork 28
Closed
Labels
๐ releaseRelease of new versionRelease of new version
Description
Release Title: Partial downloads, bugfixes
Release Date: 2025-11-26
Release Procedure
Preparation
- ๐ Create a
Draft GitHub Releasewith the release version numbervx.x.xas title - Merge all open Pull Requests to
develop - Run tests locally with
pytestand apply linting withpre-commit run -a
Create a release branch
- Checkout
developand branch withgit checkout -b release-vx.x.x - Update version for test release with
bump2version --current-version current_version> --new-version <new_version> patch - Update
date-releasedin๐CITATION.cff - Update
๐CHANGELOG.md- All Pull Request are included
- Add a new section with correct version number
- Give the suitable name to the release
- Commit version update with
git commit -am "version update vx.x.x"
Optional: Check release on Test-PyPI
This should be done when the README file was changed, to assure a correct display of it at pypi.
- trigger the release manually within github actions using the
run workflowbutton on branchrelease-vx.x.xon the workflowBuild and release on pypi tests- Note: Pre-releases on Test-PyPI are only shown under
Release historyin the navigation bar. - Note: The branch status can only be released to a version on Test-PyPI once. Thus, for every branch status that you want to see on Test-PyPI increment the build version with
bump2version buildand push afterwards. - Check if the release it correctly displayed on Test-PyPI
- Note: Pre-releases on Test-PyPI are only shown under
๐ Create a Release Pull Request with the name Release vx.x.x
- Merge
releaseintoproductionbranch - Create new tag
- Either by using the
Create new tag on releasemethod within the github draft Release - Or manually:
- Checkout
productionbranch and pull - checking existing tags
git tag -nwith usinggit tag -a v0.12.1 -m "open-mastr release v0.12.1 with PyPI"and push it withgit push --tags - This commit will be the final version for the release, breath three times and check again
- Checkout
- Either by using the
๐ Publish Release on GitHub and PyPI
- Navigate to your releases on GitHub and open your draft release.
- Summarize key changes in the description
- Use the
generate release notesbutton provided by github (This only works after the release branch is merged on production) - Choose the correct git
tag - Choose the
productionbranch
- Use the
- Publish release
๐ Set up new development
- Create a Pull request from
release-*todevelop - Create a new unreleased section in the
๐CHANGELOG.md
## [v0.XX.X] unreleased ### Added ### Changed ### Removed - Merge
release-*todevelopand deleterelease-*branch
Documentation on Read the Docs (RTD)
- ReadTheDocs triggers a new built automatically after the release on github. To see
the build status, visit https://readthedocs.org/projects/open-mastr/builds/
Additional notes
The release procedure is a process in which different parts of the repository are involved.
These symbols help with orientation:
- ๐ GitHub
- ๐ git (Bash)
- ๐ File
- ๐ป Command Line (CMD)
- ๐ฆ Package
This software follows the Semantic Versioning (SemVer).
It always has the format MAJOR.MINOR.PATCH, e.g. 1.5.0.
The data follows the Calendar Versioning (CalVer).
It always has the format YYYY-MM-DD, e.g. 2022-05-16.
Sources:
FlorianK13
Metadata
Metadata
Assignees
Labels
๐ releaseRelease of new versionRelease of new version