Skip to content

Release checklist

Andreas Pedersen edited this page May 14, 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 src/easyreflectometry/__version__.py (1.7.2)
  2. Make a PR for pre-release -> master
    • merge with Create a merge commit strategy to keep all commits
  3. After merge
    • Tag commit on master to be consistent with version number vx.y.z (v1.7.2)
    • Under Actions on the GitHub Repo page make sure following pipelines were successful
      • Publish Python Package (deploys to PyPi)
      • Build Documentation and Push to gh-pages Branch (deploys to Docs page)
  4. Release new version on GitHub
    • Go to Releases on the GitHub Repo
    • A draft for the new version has been created by release-drafter pipeline
    • Publish release by editing the draft
  5. Delete pre-release
  6. Merge master into develop

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