Skip to content

Release checklist

Andreas Pedersen edited this page Jan 18, 2024 · 29 revisions

Protocol

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

  1. Decide the new release nr x.y.z (fx. 1.7.2)
  2. Make a pre-release branch from develop to prepare the release
    • Use release version in pyproject.toml
    • Use release version INSTALLATION.md for public homepage to point to released version
    • Use release version in CHANGELOG.md
    • Use release version in README.md
  3. Make a PR for pre-release -> main, merge with SQUASH strategy to form single commit
  4. After merge
    • Make sure the build_executable pipeline was successful
    • Make sure the snapcraft pipeline was successful
    • Tag commit to be consistent with version number vx.y.z (fx. v1.7.2)
  5. On GitHub create a new release in hand
  6. Delete pre-release
  7. Merge main into develop
    • Increase patch version and reintroduce non release naming in pyproject.toml (fx. 1.7.3-dev)
    • Add entry for the next release in CHANGELOG.md

What happens

Push to any branch triggers:

  1. A build and publish pipeline
    • build_executable.yml
    • Produce artifacts for Windows and Mac-OS
    • Upload artifacts to FTP server
  2. A build and publish pipeline
    • snapcraft.yml
    • Produce artifact for Linux
    • Upload artifact to snapcraft
      • For development branch the artifact goes to beta
      • For main branch the artifact is goes to stable

Push to main triggers:

  1. The documentation build and deploy pipeline
    • documentation_build.yml
    • Produce the sphinx documentation
    • Push the produced documentation to gh-pages branch
Clone this wiki locally