Skip to content

Release

Lewis John McGibbney edited this page Jun 12, 2017 · 8 revisions

Release HOWTO

The following document should be followed for anyone wishing to release COAL.

Update setup.py and Docs conf.py

Ensure that _version variable within setup.py, version and release variables within conf.py and version constant in pycoal/__init__.py indicate the version you intend to release. Note, this needs to contain semantic versioning e.g. 0.2.0

Create a Tag for the Release

Create a tag with the following command

git tag -a <VERSION> -m "COAL <VERSION>"

Push the tag to remote Github server

git push --tags

Publish to PyPi

Upload your package to PyPI Test

First lets set up a test

Test Pypi

python setup.py register -r pypitest

This will attempt to register your package against PyPI's test server, just to make sure you've set up everything correctly. If all is good then run.

Test Upload

python setup.py sdist upload -r pypitest

You should get no errors, and should also now be able to see your library in the test PyPI repository.

Upload to PyPI Live

Once you've successfully uploaded to PyPI Test, perform the same steps but point to the live PyPI server instead. To register, run:

Publish to Pypi

python setup.py egg_info -Rb '' sdist register upload

You should now see the package present within Pypi.

Upload package to conda-forge

To update the package on conda-forge, fork our feedstock repo and bump the version number in recipe/meta.yaml (it should be in the 2nd line of the file) as well as the sha256 of the tar.gz which was uploaded to Pypi. This can be done simply

shasum -a 256 pycoal-${version}.tar.gz

If you have not already done so, you should also add your github username to the recipe-maintainers section. Commit your changes and submit a pull request, then merge if the CI tests are all green. conda-forge's CI services will then automatically rebuild the package from the newly updated recipe and upload the fully built package to their channel.

Conclusion

If all went well, you've successfully released COAL. Please make as many announcements as you can. The following channels can be used, please add to these as you see fit. As release manager, you should create a blog post for the announcement. An example can be see at https://capstone-coal.github.io/2017/06/08/release.html. This can be used in the release announcement(s).

Additionally, release the announcement at the following URL

https://aviris.jpl.nasa.gov/ask/index.php