Skip to content

Release checklist

Andreas Pedersen edited this page Mar 19, 2024 · 32 revisions

Protocol

To release a new version of the code the following should be executed. In the example it is a minor release (1.7.2)):

  1. Make a pre-release branch from develop to prepare the release
    • Set the version number in pyproject.toml (1.7.2)
  2. Make a PR for pre-release -> main
    • merge with Create a merge commit strategy to keep all commits
  3. After merge
    • Tag commit on main to be consistent with version number vx.y.z (v1.7.2)
    • Make sure the python-publish pipeline was successful
  4. On GitHub create a new release in hand
  5. Delete pre-release
  6. Merge main into develop
  7. Increase version in pyproject.toml on develop to a new development cycle (1.7.3-dev)

What happens

Push to pre-release or main triggers:

  1. The package pipeline
    • python-package.yml
    • Produce an artifact for each of the specified python versions
    • Only used for testing the artifacts for the various python versions

Push to main triggers:

  1. The build and publish pipeline
    • python-publish.yml
    • Produce an artifact
    • Publish it to PyPI
  2. The documentation build and deploy pipeline
    • documentation-deploy.yml
    • Produce the sphinx documentation
    • Push the produced documentation to gh-pages branch
Clone this wiki locally