Skip to content

Latest commit

 

History

History
71 lines (51 loc) · 2.11 KB

RELEASE.md

File metadata and controls

71 lines (51 loc) · 2.11 KB

How to make a release

chartpress is a package available on PyPI. These are instructions on how to make a release on PyPI. The PyPI release is packaged and published automatically by a GitHub workflow when a git tag is pushed.

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

Steps to make a release

  1. Update CHANGELOG.md if it is not up to date, and verify README.md has an updated output of running --help. Make a PR to review the CHANGELOG notes.

    To get the foundation of the changelog written, you can install github-activity and run github-activity jupyterhub/chartpress after setting up credentials as described in the project's README.md file.

  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 the version with bump2version (can be installed with pip install -r dev-requirements.txt)

    VERSION=...  # e.g. 1.2.3
    bump2version --tag --new-version $VERSION -
  4. Reset the version to the next development version with bump2version

    bump2version --no-tag patch
  5. Push your two commits to main along with the annotated tags referencing commits on main.

    git push --follow-tags $ORIGIN main
    

Manually uploading to PyPI

We are using CI with GitHub workflows to automatically publish to PyPI, but if you want to do it manually when you are on a tagged commit in a otherwise cleaned repository, you can do this.

  1. Package the release

    python3 setup.py sdist bdist_wheel
  2. Upload it to PyPI

    twine upload dist/*