Skip to content

ndcube Release Instructions

DanRyanIrish edited this page May 8, 2019 · 30 revisions

For Major releases only (releasing full master branch):

  • Create and change onto a new release branch from master named with the release number X.Y.
  • Update RELEASE.md

For Minor/bugfix releases only:

  • Move desired changes from master to release branch (X.Y) by cherry-picking the merge commits of the PRs to be included in the new release. (If not all commits from a PR should be included, individual commits can be cherry-pick.) To do this, change onto the release branch, identify the merge commits to include, and run git cherry-pick <merge commit> -m 1 where -m 1 selects parent 1 of the merge commit.

Pre-release:

  • Update version number in setup.cfg (the version number branch and don't commit yet)
  • run towncrier in the root of the repo to update the changelog.
  • Build the source distribution:
python setup.py sdist
  • Test that the sdist installs (in an (new) environment of your choice). To do this unzip the tar file in the dist/ directory. Change into the unzipped directory and do pip install ..
  • Check that the ndcube.__version__ number is correct.
  • Run ndcube.test() to check that installed tests work
  • Commit the changes:
git add .
git commit -m "Release vX.Y.Z"
  • Push to the directly release branch on the sunpy/ndcube repo (the version number branch).
git push upstream X.Y
  • Check that Travis passes on release commit
  • Check that AppVeyor passes on release commit
  • Check that RTD is building the documentation correctly and the version is correct. Checking the build of the master branch (labeled "latest" on RTD site).
  • Release on GitHub (tag should be full version number preceded by a v)
git checkout X.Y
git tag vX.Y.Z
git push --follow-tags upstream vX.Y.Z
  • Release on PyPI:
# Make sdist
python setup.py sdist

# Upload Release
twine upload dist/ndcube-X.Y.Z.tar.gz

On Release:

  • Make sure all builds are complete (conda-forge, etc)
  • Post release announcement on social media sites
  • Send release announcement to mailing lists
Email Template
-----

Dear all,

The ndcube developers present to you the latest release of ndcube <version>.
In this update the headline fixes are <fill in>

The full changelog is:

<fill in>

To update you can run these following commands:

Pip users:

pip install -U ndcube

Conda Users:

conda update ndcube

GitHub Users:

git pull <local upstream name> <version>

Please enjoy,
The ndcube Developers

Post Release:

  • Update CHANGELOG.rst (Add a new heading for the next release)
Clone this wiki locally