Skip to content

Release Process

Owen Campbell edited this page Sep 29, 2023 · 11 revisions

Check list for new release:

Setup

  • You'll need to have a local copy of bump2version installed - that's probably best done using pipx:
pipx install bump2version

Your git installation also needs to be at least v2.4.

Process

  1. Checkout the main branch and ensure it's up to date

    git checkout main
    git pull
  2. Prep CHANGELOG.md

    • Consider the unreleased entries to determine the 'bump' level of this release ('patch', 'minor' or 'major')
    • Change the 'Unreleased' heading to the new version details and save
  3. Commit the change

    git add .
    git commit -m "Prep changelog for new release"
  4. Bump the version

    bumpversion <patch|minor|major>

    This will:

    • Update the __version__ variable in all files
    • Commit those changes
    • Create a new tag on the new commit
  5. Push to github

     git push --atomic <remote> main <tag>

    e.g. If your remote repo for github is named 'origin' and you had just bumped to version 2.3.1, you would use:

    git push --atomic origin main v2.3.1

    The github actions setup in this project will then:

    • Force push the main branch to the production master branch
    • Force push the main branch to the production published branch
    • Push the new tag to the production repo
  6. Create a new release at Gitub

    • Visit the github releases page
    • Click 'Draft a new release'
    • Copy the content from CHANGELOG.md for the new release into the description
    • Click 'Publish Release'
  7. Announce on Users Forum!

    We tend to make a new forum post for any major or minor release, but add to the relevant one of those for any patch release.

Clone this wiki locally