Release process

Prerequisites

  • In order to promote a Snap release from edge to stable, you need publishing access, which you can get from Colin Watson.

How to create a new release

  • create an MP with a release commit, with updated version number in setup.cfg and updated version number and release date in NEWS.rst, following the semver recommendations

  • once the MP has been merged to the main branch, a Launchpad recipe automatically builds and publishes Snap packages to the edge channel

  • once the Snaps have been published, update your local Snap installation

    snap refresh --edge lpci
    
  • in order to make sure nothing is broken, run

    lpci -v
    
  • go to the Releases page of the Snap store to promote the release from edge to stable

    • click on the cog icon next to latest/edge

    • select Promote/close

    • click on Promote to: latest/stable

    • finally, hit the Save button in the top right corner to apply the changes

  • go to the project’s Read the Docs site and trigger Build version to get the updated documentation online

Some additional information

  • It is best practice to use dev0 version’s suffix defining a new development version into setup.cfg after a release, so when building that version for testing, it does not show the old version number. Once we want to release, we remove the suffix, to indicate that this is no longer a development version.

  • members of the Launchpad team can use the Request builds button on that recipe if they need updated builds urgently

  • lpci currently only makes use of stable and edge, though this may change in future if necessary

  • most users, as well as default CI builds in Launchpad, should use the stable channel rather than the auto-built edge channel

Rebuilding for security fixes

We often receive a notification from the Snap Store about the lpci snap being built with packages from the Ubuntu archive that have since received security updates.

To address this, we have to rebuild the snap from the Launchpad recipe page by requesting new builds. Use the default options that are pre-selected when doing this.

Once the builds have been completed and published to the Snap Store, follow the steps in the How to create a new release section above, starting from the 3rd step about refreshing the snap from the edge channel, to test and publish the updated snap package.