Skip to content
Nadia Dencheva edited this page May 24, 2018 · 5 revisions

Releasing GWCS

Releases are prepared on release branches. When done the branch is merged with the stable branch via a Pull Request (PR).

The example below creates a hypothetical release version 2.0.0.

Clone the repository on spacetelescope.

git clone [email protected]:spacetelescope/gwcs.git

Prepare the release branch

  1. Make sure you are on the master branch. Make a branch for the release. Name the branch 2.0.0x. Always use a letter at the end of the branch name so that the version number can be used later as a tag.
git status # should show you are on master.
git branch 2.0.0x
git checkout 2.0.x
  1. Make last changes to the release branch. Edit CHANGES.rst to set the release date. Edit setup.py to set the version to "2.0.0". If necessary make other code changes (there should be only minor changes at this point, if any).

  2. Push the 2.0.0x branch to spacetelescope and create a PR to the stable branch. Note, that origin below refers to the spacetelescope repository.

git push origin 2.0.0x
  1. After Travis tests pass merge the PR into stable.

Note, make sure Travis runs the tests with the public releases of astropy and asdf.

  1. Checkout the stable branch and tag it with the new release.
git checkout stable
git tag -a "2.0.0" -m "tagging release 2.0.0"
git push origin 2.0.0

Prepare master for further development

Checkout master and tag it for further development. The suggested tag is the next version, followed by a. The tag name should be chosen in such a way that conda would resolve it as the latest tag. This allows the nightly build scripts to pick up the latest version from master.

git checkout master
git tag -a "2.1.0a" -m "tagging for further development"
git push origin 2.1.0a

Release on PYPI

  1. Checkout the release tag.
git checkout 2.0.0
  1. Clean the working directory and build the distribution package.
git clean -dfx
python setup.py build sdist
  1. Test the distribution by going into the dist directory , unpacking and running the tests. Make sure the tests are run with the stable versions (publicly released versions) of astropy and asdf. If the tests pass with stable versions, proceed with the release.

  2. Clean after the tests and build the distribution again. Sign the distribution and upload it to PYPI.

git clean -dfx
python setup.py build sdist
gpg --detach-sign -a dist/gwcs-2.0.0.tar.gz
twine upload dist/gwcs-2.0.0.tar.gz
  1. Go to https://pypi.python.org/ and ensure that only the most recent release is visible.

Release on conda-forge

Clone (a fork of ) the gwcs-feedstock repository.

Branch for the new release and change the recipe. Edit the file recipe/meta.yaml to include the correct version number and SHA. The SHA can be obtained from the PYPI site. Click on the "Download" link and look for a link to the SHA near "Download files".

Submit a PR to https://github.com/conda-forge/gwcs-feedstock

Release on astroconda

Edit the build recipe in astroconda-contrib to include the new release tag.

Clone this wiki locally