How to release podpac
- Ensure your local main / main-3.X branch is synced to upstream:
$ git pull upstream main # or just git pull-
Create a release branch:
release/4.x.y -
Update
version.pyMAJOR,MINOR, andHOTFIXto the right semantic version -
Run unit tests
$ # Activate Python environment
$ pytest podpac - Review the CHANGELOG and update
- Prefix should be a numpy commit prefix
- Convention:
- <prefix>: <short description> ([<github issue>](https://github.com/creare-com/podpac/issues/<issue#>))-
Merge changes into main
-
On the main branch, Tag the release:
$ git tag -a X.Y.Z -m 'X.Y.Z'- Push your changes to main:
$ git push upstream main
$ git push upstream --tags- Build source and binary wheels for pypi (you have to have the
wheelspackage installed):
$ git clean -xdf # this deletes all uncommited changes!
$ python setup.py bdist_wheel sdist- Upload package to TestPypi. You will need to be listed as a package owner at https://pypi.python.org/pypi/podpac for this to work. You now need to use a pypi generated token, can no longer use your password.
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/podpac-X.Y.Z*- Use twine to register and upload the release on pypi. Be careful, you can't take this back! You will need to be listed as a package owner at https://pypi.python.org/pypi/podpac for this to work.
$ twine upload dist/podpac-X.Y.Z*- Issue the release announcement (via github)