To publish a new exSpy release do the following steps:
- In a pull request, prepare the release by running the
prepare_release.py
python script (e.g.python prepare_release.py 2.0
) , which will do the following:- update the release notes in
CHANGES.rst
by runningtowncrier
, - update the
setuptools_scm
fallback version inpyproject.toml
(for a patch release, this will stay the same).
- update the release notes in
- Check release notes
Tag and release
- Create a tag e.g.
git tag -a v2.0 -m "HyperSpyUI version 2.0"
. The HyperSpyUI version will be set at build time from the tag bysetuptools_scm
. - Push tag to user fork for a test run
git push origin v2.0
. Will run the release workflow without uploading to PyPi ⚠️ this is a point of no return⚠️ Push tag to HyperSpyUI repository to trigger releasegit push upstream v2.0
:- The
release
workflow will run and upload the sdist and wheel topypi.org
- A Github release will be created
- build the doc and push it to the
gh-pages
branch which will in turn publish it to https://hyperspy.org/hyperspyUI
- The
Post-release action
- Merge the PR
- Tidy up and close corresponding milestone
- A PR to the conda-forge feedstock will be created by the conda-forge bot