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 main 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 main
    git fetch $ORIGIN main
    git reset --hard $ORIGIN/main
    # 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 main along with the annotated tags referencing commits on main. A GitHub workflow will trigger on the pushed git tag and publish to PyPI.

    # 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 main
    
    # if you could push the commits without issues
    # go ahead and push the tag also
    git push --follow-tags $ORIGIN main
  5. Verify that the GitHub workflow triggers and succeeds and that that PyPI received a new release.