To publish a new exSpy release do the following steps:
- In a pull request, prepare the release by running the
prepare_release.pypython script (e.g.python prepare_release.py 2.0) , which will do the following:- update the release notes in
CHANGES.rstby runningtowncrier, - update the
setuptools_scmfallback 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
releaseworkflow 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-pagesbranch 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