You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.5 KiB

Two weeks before release day:

  1. Announce internally that any last minute changes should be done as soon as possible.
  2. File the megatask for the upcoming release's blockers.
  3. Go through the release blocker list for this cycle and punt non-RC tasks to next cycle.
  4. Inform the Calamares upstream contact that we plan on doing a release in two weeks. Discuss whether any important patches should be cherry-picked, and get those uploaded as soon as possible. Ask them nicely to ping you in the next two weeks if anything important comes up.
  5. Talk to the Lubuntu Documentation Team about what needs to be wrapped up for next release. Nicely remind them that the release is in two weeks.

A week before release day:

  1. Update the downloads page and the homepage for the new release in a draft, so they can be published on release day.
  2. Do one final check of the testing checklist and send out a call for testers.
  3. Start drafting a blog post for the release.
  4. Gather known bugs (possibly automate this) to put on the blog post from:
    1. bugs associated with the Lubuntu Packages Team;
    2. packages in the Lubuntu packageset which the Lubuntu Packages Team might not have been subscribed to, especially Lubuntu specific ones like lubuntu-meta and lubuntu-artwork;
    3. known issues from previous release notes; and
    4. open defects report on the ISO QA tracker for both the upcoming release as well as previous releases to ensure nothing has been missed.
  5. Make sure that the link is correct on the Ubuntu release notes for where our announcement will be.

After ISOs have been released:

  1. Update the Lubuntu Manual in production (via SSH):
    1. Merge stable -> master.
    2. Make sure version strings and hashes are updated in the master branch.
    3. Rename stable to its release number.
    4. Push master to stable (and to lts if applicable; do NOT merge).
    5. Change the version strings in master to reflect the new development release.
  2. Publish the blog post and the downloads/homepage drafts.
  3. Post on social media:
    1. Twitter or Mastodon (publishing to one published to the other).
    2. r/Lubuntu and r/Ubuntu.
    3. Facebook page and Facebook group.
    4. IRC topics for #lubuntu, #lubuntu-devel, and #lubuntu-offtopic on freenode.
    5. Announce on the lubuntu-users and lubuntu-devel mailing lists.
  4. Scan social media and see if anyone is pointing out any reproducible bugs that we can file.

After the codename is announced and base-files is uploaded:

  1. Update the Testing wiki.
  2. Edit the Phab sidebar.
    1. Ensure the new release's task is resolved.
    2. Remove the new release from testing.
    3. Add a new task for SRUs for the new release.
    4. Add a new task with a countdown in the description for the upcoming release.
    5. Be mindful of upcoming point releases.
  3. File a task about a new wallpaper and slideshow for the upcoming release.
  4. Change update.cfg in rMETA and the branding as well as the desktop file in rCALASETTINGS.
  5. Update the default branch for rSEED both on Phabricator and upstream in Launchpad.
  6. Make sure repo-list is up-to-date and run setup-phab in this repo. The production values can be found in the internal setup document.
  7. Someone with access to GitHub should update the default branches for the mirrored repositories.
    • TODO: automate me
  8. Update the CI to enable builds for the new release:
    1. In ci.conf:
      1. Add the new codename to the releases list, and remove old releases if necessary.
      2. Change default_branch to the branch you just created above.
      3. Evaluate overrides for the aforementioned variables and season to taste.
    2. Run jobgenerator and then look over the builds triggered. Did you miss a step?
    3. Add the new release to the Britney job so builds can migrate.
    4. SSH into the Jenkins container, su to the jenkins user, go to ~/jobs and remove old jobs (e.g. from an old release), and in the Jenkins settings, Reload Configuration from Disk.
    5. Manually review and clean up packages in the PPAs.
  9. If lintian and devscripts have not been updated (NOTE: normally, Ubuntu/Debian would handle this), cherry-pick the lintian patch adding the new release as known if there is one, and no-change rebuild devscripts.
    1. Lintian needs a patch because all of the Ubuntu release codenames are hardcoded in vendors/ubuntu/main/data/changes-file/known-dists.
    2. devscripts needs a no-change rebuild because it gets the value grabbed by dch -r on build time. This is the conditional sed modification to debchange.pl in scripts/Makefile.
  10. Evaluate our packages. What needs to be updated to the latest upstream release? What did we carry over to this release?