Skip to content

Instantly share code, notes, and snippets.

@SolarDrew
Forked from Cadair/SunPy-release-checklist.md
Last active April 30, 2018 03:36
Show Gist options
  • Save SolarDrew/771242a4d9d9128eaf85a108aa23bf85 to your computer and use it in GitHub Desktop.
Save SolarDrew/771242a4d9d9128eaf85a108aa23bf85 to your computer and use it in GitHub Desktop.

For Major releases only:

  • Update RELEASE_NOTES.rst
  • Update the version for build numbers on Appveyor (Not sure this really matters)

Pre-release:

  • Check that the Continious Integration is passing for the correct version
  • Update version number in setup.cfg (the version number branch, and don't commit yet)
  • Build the source distribution:
python setup.py sdist
  • Test that the sdist installs (in env of your choice)
  • Check that the plasmapy.__version__ number is correct
  • Run plasmapy.self_test() to check that installed tests work (don't do this because it's not a thing yet)
  • Commit the changes:
git add .
git commit -m "Release X.Y.Z"
  • Push directly to the release branch on PlasmaPy (the version number branch)
git push upstream vX.Y
  • Check that Travis passes on release branch
  • Check that appveyor passes on release branch
  • Release on GitHub (tag should be full version number preceeded by a v)
git checkout X.Y
git tag -s vX.Y.Z
git push --follow-tags upstream vX.Y.Z
  • Test that RTD is building the documentation correctly on release branch (and the version is correct)
  • Release on PyPI:
# Make sdist
python setup.py sdist
cd dist

# This next bit won't work because it's not set up
# sign sdist
gpg --armor --detach-sign plasmapy-X.Y.Z.tar.gz
# verify it was signed with the correct signature
gpg --verify plasmapy-X.Y.Z.tar.gz.asc plasmapy-X.Y.Z.tar.gz

# Upload Release
twine upload dist/plasmapy-X.Y.Z.tar.gz dist/plasmapy-X.Y.Z.tar.gz.asc
  • Make a PR to the plasmapy-feedstock repo with the updated recipe and merge once CI is passed

On Release:

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

Dear all,

The PlasmaPy developers present to you the latest release of PlasmaPy <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 sunpy

Conda Users:

conda update sunpy

GitHub Users:

git pull <local upstream name> <version>

Happy coding,
The PlasmaPy Developers

Post Release:

  • Update CHANGELOG.rst (Add a new heading for the next release)
  • Update astropy/ci-helpers stable plasmapy version number (Two places: test_env.py and travis/setup_dependencies_common.sh) (No idea if this is necessary)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment