Skip to content

DevNotes_DevGuide_ReleaseChecklistTemplate

Jeff Krzywon edited this page Jan 9, 2026 · 12 revisions

Release checklist [WIP]

This is a template checklist that release managers can use to populate release checklist pages and use as a guide for publishing a full SasView release.

Prerequisites

A developer will need the following permissions in order to draft, publish and finalize a release.

  • Push access to all appropriate repos (flatpak, docs, sasview.github.io )

SasData (if applicable)

Pre-release Tasks

  • Create sasdata release branch (release-x.y.z)

Post-release Tasks

  • Upload wheel and tarball to pypi

SasModels (if applicable)

Pre-release Tasks

  • Create sasmodels release branch (release-x.y.z)

Post-release Tasks

  • Upload wheel and tarball to pypi

SasView release

Initial planning Tasks

  • Create SasView release branch (release-x.y.z)
  • Choose fixes and features to include in the release
  • Cherry-pick commits into the branch that aren't already there
  • Update version pins in the release requirements files
    • Ensure the versions of sasdata and sasmodels match the version being used in the sasview release
  • Create an Alpha1 for testing as soon after cherry picking is complete

Pre-release Tasks

  • Write the release notes in docs/sphinx-docs/source/user/RELEASE.rst
  • Update release number
    • build_tools/application_metadata/org.sasview.sasview.metainfo.xml - version and release date
    • build_tools/release_automation.py - version and title
    • docs/sphinx-docs/source/conf.py - version number
    • 'installers/installer.iss' - version number
    • https://github.com/flathub/org.sasview.sasview/blob/master/org.sasview.sasview.yml - version number and release date
  • Check & update lists of developers/contributors (release_automation.py & contributors.tsv)
  • Mark release manager in contributors.tsv
  • Update first author in 'src/sas/qtgui/MainWindow/Acknowledgements.py'
  • Run python ./sasview/build_tools/release_automation.py with appropriate arguments to generate a draft zenodo record
  • Commit DOI to release branch
  • Update the license and copyright years

Release process

  • Ensure both sasdata and sasmodels releases are finalized and published to pypi
  • Draft a new release on Github
    • Create a new tag on publish in the format `v1.2.3'
    • Select the previous release tag as the target
    • Auto-generate the release notes using the GitHub API
    • Select as latest release
    • Save draft
  • Update release notes in release branch
  • Change any pins for sasdata and sasmodels from branches to release versions
  • Ensure all version numbers and dates noted in the pre-release tasks are correct
  • Publish the release, once ready

Post-Release Tasks

  • Attach binaries built on tag generation to release page and zenodo record
  • Upload sasview wheel and tarball to pypi
  • Follow the guide available at https://github.com/SasView/sasview/wiki/DevNotes_DevGuide_FlatpakReleaseProcess for the Flatpak release
  • Update docs on website
  • Update release link on sasview.org
  • Update latestversion.json
  • Update 'Current Release' link in download.md
  • Create post on website to announce new release
  • Announce release to users@sasview.org (with 'newsletter')
  • Announce release to sa_scat & neutron mailing lists
  • Publish zenodo record
  • Create PRs to merge release branches into main/master for all repositories

Clone this wiki locally