How to release podpac
- Ensure your master branch is synced to upstream:
$ git pull upstream master
-
Update
version.py
MAJOR
,MINOR
, andHOTFIX
to the right semantic version -
Run unit tests for python 2 and python 3 environments
# python 3 (assumes conda environment is named `podpac`)
$ source activate podpac
$ pytest podpac
# python 2 (assumes conda environment is named `podpac27`)
$ source activate podpac27
$ 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#>))
- On the master branch, Tag the release:
$ git tag -a X.Y.Z -m 'X.Y.Z'
- Push your changes to master:
$ git push upstream master
$ git push upstream --tags
- Build source and binary wheels for pypi:
$ 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.
$ 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*
-
Tag the
master
branch of creare-com/podpac-examples with the same semantic version. -
Issue the release announcement (tbd)