Skip to content

Release checklist

Andreas Pedersen edited this page Jan 17, 2024 · 32 revisions

Protocol

To release a new version of the code the following should be executed:

  1. Make a pre-release branch from develop to prepare the release
    • Set the version number in pyproject.toml
    • Set the version number in EasyReflectometry/__init__.py
  2. Make a PR for pre-release -> main, merge with SQUASH strategy to form single commit
  3. After merge
    • Make sure the python-publish pipeline was successful
    • Tag commit to be consistent with version number vx.y.z (fx. v1.7.2)
  4. Delete pre-release
  5. Merge main into develop
  6. On GitHub create a new release in hand

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