ReleaseProcess

Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2018-11-02 10:52:16
Size: 2039
Editor: sil2100
Comment:
Revision 13 as of 2021-05-26 20:35:38
Size: 3233
Editor: brian-murray
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The release of a new ubuntu-core stable image is a rather simple and straightforward process. Access to nusakan (cdimage) is required. The release of a new ubuntu-core stable image is a rather simple and straightforward process. Access to ancientminister (cdimage) is required.

Release minus 3 weeks:
Line 7: Line 9:
 * (optional) Request early sanity testing of the current edge-based daily images by the Certification Team to find any possible blockers as early as possible.
 * Check if the base snap (core, core16 or core18, depending on the release) is up-to-date in stable. If not, perform required promotion testing and promote it to stable.
 * Query the Certification Team for early sanity test results of the current edge-based daily images, to find any possible blockers as early as possible.
   * The Certification Team currently runs automated testing of all daily-built images and shares the results on the https://trello.com/b/HCbXsaQj/certification-image-testing board.

Release minus 7 days:

 * (optional) Create a release tracking document, sharing it with management, Certification Team and the snapd team. Keep the document up-to-date with the current state of the release, so that all involved parties know in which stage the release is right now.
 * Check if the base snap (core, core16 or core18, depending on the release) is up-to-date in stable. If not, perform required promotion testing and promote it to stable (see [[UbuntuCore/Development]] for details).
 * Check if all the supported gadget snaps (pi, dragonboard, pc etc.) are up-to-date in stable. If not, perform required promotion testing and promote them to stable (see [[UbuntuCore/Development]] for details).
Line 10: Line 18:
   * On nusakan in screen, as cdimage, run: `CHANNEL=stable for-project ubuntu-core cron.daily-live --live` (or with an additional `DIST=xenial` in front in case of 16).    * Before starting the build, make sure that all relevant snaps are phased out at 100%, as otherwise there is no guarantee the build will pick up the latest version.
   * On ancientminister in screen, as cdimage, run: `DIST=<SERIES> CHANNEL=stable for-project ubuntu-core cron.daily-live --live` where `<SERIES>` is either xenial for 16 and bionic for 18.
Line 12: Line 21:
 * Once images are built, send a request for testing to the Certification Team (cwayne or plars are the current right POCs) including the link to the RC image directory on cdimage.
 * Iterate on testing results from the Certification Team, re-spinning images when necessary.
 * Once images are blessed by the Certification Team as ready for release, inform the product management about the release being ready.
 * Once images are built, send a request for testing to the Certification Team (current POCs: cwayne or plars) and the Snapd Team (current POCs: mvo or cachio) including the link to the RC image directory on cdimage.
 * Iterate on testing results, re-spinning images when necessary.
 * Once images are blessed by the Certification Team and the Snapd Team as ready for release, inform the product management about the release being ready.

Release day:
Line 16: Line 28:
   * On nusakan, as cdimage, go to the `www/full/ubuntu-core/<SERIES>/stable/` directory where `<SERIES>` is either 16 or 18.    * On ancientminister, as cdimage, go to the `www/full/ubuntu-core/<SERIES>/stable/` directory where `<SERIES>` is either 16 or 18.
Line 19: Line 31:
 * Regenerate the [[https://changelogs.ubuntu.com/raspi/os_list_imagingutility_ubuntu.json|Raspi Installer JSON]] file to include the latest core images and checksums (ping waveform or sil2100).

To be carried out by the Canonical Foundations team.

The release of a new ubuntu-core stable image is a rather simple and straightforward process. Access to ancientminister (cdimage) is required.

Release minus 3 weeks:

  • Coordinate with the kernel and snapd teams about the incoming new ubuntu-core release.
    • Make sure that kernel and snapd snaps are ready in stable at least a week before the planned release date.
  • Query the Certification Team for early sanity test results of the current edge-based daily images, to find any possible blockers as early as possible.

Release minus 7 days:

  • (optional) Create a release tracking document, sharing it with management, Certification Team and the snapd team. Keep the document up-to-date with the current state of the release, so that all involved parties know in which stage the release is right now.
  • Check if the base snap (core, core16 or core18, depending on the release) is up-to-date in stable. If not, perform required promotion testing and promote it to stable (see UbuntuCore/Development for details).

  • Check if all the supported gadget snaps (pi, dragonboard, pc etc.) are up-to-date in stable. If not, perform required promotion testing and promote them to stable (see UbuntuCore/Development for details).

  • Build the release candidate image.
    • Before starting the build, make sure that all relevant snaps are phased out at 100%, as otherwise there is no guarantee the build will pick up the latest version.
    • On ancientminister in screen, as cdimage, run: DIST=<SERIES> CHANNEL=stable for-project ubuntu-core cron.daily-live --live where <SERIES> is either xenial for 16 and bionic for 18.

    • Disabling of daily images is not required as those are built separately and published to a different directory structure on cdimage.
  • Once images are built, send a request for testing to the Certification Team (current POCs: cwayne or plars) and the Snapd Team (current POCs: mvo or cachio) including the link to the RC image directory on cdimage.
  • Iterate on testing results, re-spinning images when necessary.
  • Once images are blessed by the Certification Team and the Snapd Team as ready for release, inform the product management about the release being ready.

Release day:

  • On release day, promote the RC stable image to current.
    • On ancientminister, as cdimage, go to the www/full/ubuntu-core/<SERIES>/stable/ directory where <SERIES> is either 16 or 18.

    • If current is a symlink, change it to point to the new stable release image that has just been validated.
    • If current is not a symlink but a regular directory, cd inside it and then change the links to the images inside. Be sure to also symlink and/or update the MD5SUMS and sign them, if needed.
  • Regenerate the Raspi Installer JSON file to include the latest core images and checksums (ping waveform or sil2100).

UbuntuCore/ReleaseProcess (last edited 2021-05-26 20:35:38 by brian-murray)