Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.08 KB

RELEASE.md

File metadata and controls

64 lines (49 loc) · 2.08 KB

How to make a release

jupyterhub-kubespawner is a package available on PyPI. These are instructions on how to make a release on PyPI.

For you to follow along according to these instructions, you need:

Steps to make a release

  1. Update CHANGELOG.md. Doing this can be made easier with the help of the choldgraf/github-activity utility to list merged PRs and generate a list of contributors.

    github-activity jupyterhub/kubespawner --output tmp-changelog-prep.md
  2. Once the changelog is up to date, checkout master and make sure it is up to date and clean.

    ORIGIN=${ORIGIN:-origin} # set to the canonical remote, e.g. 'upstream' if 'origin' is not the official repo
    git checkout master
    git fetch $ORIGIN master
    git reset --hard $ORIGIN/master
    # WARNING! This next command deletes any untracked files in the repo
    git clean -xfd
  3. Update version and tag, and return to a dev version, with bump2version.

    VERSION=...  # e.g. 1.2.3
    bump2version --tag --new-version $VERSION -
    bump2version --no-tag patch
    
    # verify tags, commits, and version tagged
    git log
  4. Push your two commits to master along with the annotated tags referencing commits on master. TravisCI will trigger automatic deployment of the pushed tag.

    # pushing the commits standalone allows you to
    # ensure you don't end up only pushing the tag
    # because the commit were rejected but the tag
    # wasn't
    git push $ORIGIN master
    
    # if you could push the commits without issues
    # go ahead and push the tag also
    git push --follow-tags $ORIGIN master
  5. Verify that the GitHub workflow triggers and succeeds and that that PyPI received a new release.