Steps for publishing a new dysh release

  1. Prerequisites
    • A release branch release-M.m.p (Major, minor, patch) should have been created a few weeks before the release date.

    • This branch is to be used for betas and other pre-releases, with versioning managed as described below.

  2. Housekeeping

    • Switch to the release branch in your sandbox

    • Ensure all required functionality/bug fixes are merged, no outstanding PRs.

    • Ensure all CI for this branch are passing.

    • Set up readthedocs
    • Change version string dysh/__init__.py
      • We follow the major.minor.patch[qualifier] paradigm, where qualifier is e.g., b, rc1, etc.

      • Push dysh/__init__.py (ok to bypass pull request rule)

    • Freeze release branch at least a week before release

  3. Create the release on github.com
    • Follow these steps to begin the release and generate release notes
      • Create a new tag that matches your version in step 1, e.g. ‘0.2.0’

      • The release title should be ‘v’+[the tag]

      • Choose pre-release or latest release as appropriate

      • If you want another pair of eyeballs, click Save Draft, otherwise click Publish Release.

      • The CI should create the release and upload it to pypi.org.

  4. Monitor the CI, pypi.org, and readthedocs.org for progress/problems.