These are basic instructions for internal use. Will be expanded as the need arises.
(e.g. 1.2 --> 1.3, or 1.3 --> 2.0)
In the following, we assume we are about to release Heat v1.3.0.
PRE-REQUISITES:
- You need PyPi, Test.PyPi account
- All intended PRs are merged, all tests have passed, and the
main
branch is ready for release.
- We will release all new features in the development branch
main
. Branch offmain
to create a new release branch, e.g.:
git checkout main
git pull
git checkout -b release/1.3.x
- Update
heat/core/version.py
like this:
"""This module contains Heat's version information."""
major: int = 1
"""Indicates Heat's main version."""
minor: int = 2 # <-- update to 3
"""Indicates feature extension."""
micro: int = 2 # <-- update to 0
"""Indicates revisions for bugfixes."""
extension: str = "dev" # <-- set to None
"""Indicates special builds, e.g. for specific hardware."""
-
Commit and push new
version.py
inrelease/1.3.x
-
Draft release notes:
- Go to the GitHub repo's Releases page.
- The release notes draft is automated. Click on Edit Draft
- Select the new tag: v1.3.0. Modify Target branch:
release/1.3.x
- Edit release notes as needed (see older releases)
- Click on Save but do not publish yet
-
Build wheel in your local
heat/
directory, make sure you are on branchrelease/1.3.x
.rm -f dist/* python -m build
You might have to install the
build
package first (i.e. withconda install build
orpip install build
) -
Upload to Test PyPI and verify things look right. You need to install
twine
first.twine upload -r testpypi dist/*
twine
will prompt for your username and password. -
When everything works, upload to PyPI:
twine upload dist/*
-
Go back to the Release Notes draft and publish them. The new release is out!
-
Now we want to update
main
to the latest version, and we want the version onmain
to be1.3.0-dev
.git checkout main git pull git checkout -b workflows/update-version-main git merge release/1.3.x --no-ff --no-commit
Modify
version.py
so thatextension
is"dev"
. Commit and push the changes. -
Create a PR with
main
as the base branch. -
Get approval and merge. You're done!
(e.g. 1.3.1 --> 1.3.2)