Skip to content

Release checklist

Andreas Pedersen edited this page Aug 7, 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 PR for developemnt -> master
    • merge with Create a merge commit strategy to keep all commits
  2. After merge
    • On master make a commit with new version number (1.7.2) in
      • src/easyreflectometry/__version__.py
      • You can do change directly on Github page, press (.) on the page for the repo
  3. Tag commit on master
    • Name: should be consistent with version number vx.y.z (fx. v1.7.2)
    • Type: Annotated
  4. Under Actions on the GitHub Repo page make sure following pipelines were successful
    • Publish Python Package (Alternatively check new version is deployed on PyPI)
    • Build Documentation and Push to gh-pages Branch (Alternatively check new docs version is deployed)
  5. 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
  6. Merge master into develop

What happens

Push to master 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
  2. The build and publish pipeline
    • python-publish.yml
    • Produce an artifact
    • Publish it to PyPI
  3. 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