Create a new virtual environment
Install project, build and test
git switch main pip install -r requirements/build.txt make build make test
Test that the wheels will build on github actions
git switch main git log --oneline wheels -n 20 git switch --force-create wheels git commit --amend -m "TST: Preparing for release [wheel build]" git push origin
- Switch to main branch
- Make sure the wheel branch does not have unmerged commits
- Create a new wheels branch at the head of main
- Update the commit header to one that will get the wheels to build
- Push to build the while
Once all the tests pass move on
- Modify changelog doc/changelog.rst and commit
- Set the version number
- Set the release date
Check out the main branch, tag with the version number & push the tags
git checkout main # git tag -a v0.1.0a1 -m 'Version: 0.1.0a1' pre-release git tag -a v0.1.0 -m 'Version: 0.1.0'
The version tag for a release must be of the form v<semantic-version> and the version comment of the form Version: <semantic-version>, as shown above.
The version tag for a test release must be of the form v<semantic-version>(a|b|alpha|beta)d+ and the version comment of the form Version: <semantic-version>(a|b|alpha|beta)d+, as shown above. The pre-release is upload to PyPiTest <https://test.pypi.org/project/scikit-misc>. The link is
A link to install
Push to release
- ::
- git push origin --tags
Make sure your .pypirc file is setup correctly.
cat ~/.pypirc
Release
make release
When a release is tagged and pushed to github, a Github Action builds the [documentation](https://has2k1.github.io/scikit-misc/) and automatically pushes it to the [gh-pages](https://github.com/has2k1/scikit-misc/tree/gh-pages) branch. See tools/deploy_documentation.sh for how it happens.