This project uses semantic versioning. Given a version number MAJOR.MINOR.PATCH, we increment the
MAJOR version when we make incompatible API changes,
MINOR version when we add functionality in a backwards-compatible manner, and
PATCH version when we make backwards-compatible bug fixes.
Additionally, pre-release, post-release and developmental release specifiers can be appended.
As long as the MAJOR number is 0 (i.e. the API has not stabilized), even MINOR increases may introduce incompatible API changes.
New versions can only be released by project maintainers that have write access to the upstream repository.
Follow these steps when publishing a new release.
Create a new branch out of
git checkout main git checkout -b chore/release/vMAJOR.MINOR.PATCH
AUTHORS.rst to list all authors that have contributed to
the new release and commit the changes to the new branch.
Add authors that have contributed for the first time to the list of
authors in the
pyproject.toml file and commit the changes to the
Update the version number in
pyproject.toml to the new
MAJOR.MINOR.PATCH version and commit the changes to the new branch.
Push the branch to the upstream repository.
git push --set-upstream origin chore/release/vMAJOR.MINOR.PATCH
Open the upstream repository in GitHub, create a pull request and merge
the branch into
main when all tests passed successfully.
Pull the changes to your remote repository.
git checkout main git pull
main branch, create a new tag that contains the new
MAJOR.MINOR.PATCH version number prefixed with a “v”:
git checkout main git tag -a vMAJOR.MINOR.PATCH
As tag message enter:
HPCSS version MAJOR.MINOR.PATCH Release notes at https://github.com/andthum/hpc_submit_scripts/releases
Push the tag to the upstream repository.
First push, then push --tags!
git push git push --tags
Open the upstream repository in GitHub and follow the steps outlined in the GitHub doc page Creating automatically generated release notes for a new release. When selecting a tag, use the tag you just created in the previous step. Carefully check the automatically generated release notes and make changes if necessary.