Merge ~paride/ubuntu-release-tools/+git/templates:snap-channel-opening-howto into ubuntu-release-tools:main

Proposed by Paride Legovini
Status: Superseded
Proposed branch: ~paride/ubuntu-release-tools/+git/templates:snap-channel-opening-howto
Merge into: ubuntu-release-tools:main
Diff against target: 765 lines (+729/-0)
6 files modified
announcements/final-release-lts (+99/-0)
announcements/open-for-development (+17/-0)
jira-milestones/end-of-life.yaml (+122/-0)
jira-milestones/final-release.yaml (+140/-0)
jira-milestones/new-cycle-opening.yaml (+209/-0)
jira-milestones/point-release.yaml (+142/-0)
Reviewer Review Type Date Requested Status
Ubuntu Release Team Pending
Review via email: mp+423696@code.launchpad.net

Commit message

Add steps on how to verify that snap stable channels are open

To post a comment you must log in.

Unmerged commits

4c75b1b... by Paride Legovini

Add steps on how to verify that snap stable channels are open

9f14f4b... by Łukasz Zemczak

new-cycle-opening: remove some outdated tasks.

a9f0bd5... by Łukasz Zemczak

final-release: remove one irrelevant task, add tasks to update the Releases wiki page.

ae75568... by Łukasz Zemczak

eol: only send warning to ubuntu-announce@

2088557... by Łukasz Zemczak

Reformat one item to make the yaml parser happy.

59e959c... by Brian Murray

add tasks regarding reviewing and cleaning release note'd known issues

105c5a7... by Brian Murray

Clarify that all autopkgtest test results should be deleted for the EoL release

765fcf1... by Łukasz Zemczak

Add an initial EOL jira template. This one might need some work, there's still a few outdated items that I didn't take a look at (like using our new archival tooling for image archival)

3bdeb4e... by Łukasz Zemczak

Add template for point-releases.

f8870d0... by Brian Murray

clarify which meta-release files need updating because somebody might have forgot one once.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/announcements/final-release-lts b/announcements/final-release-lts
2new file mode 100644
3index 0000000..e7d3756
4--- /dev/null
5+++ b/announcements/final-release-lts
6@@ -0,0 +1,99 @@
7+Ubuntu <VERSION> LTS, codenamed “<FULL NAME>”, is here. This release
8+continues Ubuntu's proud tradition of integrating the latest and
9+greatest open source technologies into a high-quality, easy-to-use Linux
10+distribution. The team has been hard at work through this cycle, together
11+with the community and our partners, to introduce new features and fix bugs.
12+
13+<BRIEF>
14+
15+<UPDATE FLAVOR NAMES ACCORDINGLY>
16+The newest Ubuntu Budgie, Kubuntu, Lubuntu, Ubuntu Kylin, Ubuntu MATE,
17+UbuntuStudio, and Xubuntu are also being released today. More details
18+can be found for these at their individual release notes under the
19+Official Flavours section:
20+
21+ https://discourse.ubuntu.com/t/<LOWERCASE NAME>-release-notes/
22+
23+Maintenance updates will be provided for 5 years for Ubuntu Desktop,
24+Ubuntu Server, Ubuntu Cloud and Ubuntu Core. All the remaining flavours
25+will be supported for 3 years. Additional security support is available
26+with ESM (Extended Security Maintenance).
27+
28+To get Ubuntu <VERSION> LTS
29+-------------------
30+
31+In order to download Ubuntu <VERSION> LTS, visit:
32+
33+ https://ubuntu.com/download
34+
35+Users of Ubuntu <PREVIOUS VERSION> will soon be offered an automatic upgrade to <VERSION>.
36+Users of <PREVIOUS LTS> LTS will be offered the automatic upgrade when <VERSION>.1
37+LTS is released, which is scheduled for the 4th of August.
38+For further information about upgrading, see:
39+
40+ https://ubuntu.com/download/desktop/upgrade
41+
42+As always, upgrades to the latest version of Ubuntu are entirely free of
43+charge.
44+
45+We recommend that all users read the release notes, which document
46+caveats, workarounds for known issues, as well as more in-depth
47+information on the release itself. They are available at:
48+
49+ https://discourse.ubuntu.com/t/<LOWERCASE NAME>-release-notes/
50+
51+Find out what's new in this release with a graphical overview:
52+
53+ https://ubuntu.com/desktop
54+ https://ubuntu.com/desktop/features
55+
56+If you have a question, or if you think you may have found a bug but
57+aren't sure, you can try asking in any of the following places:
58+
59+ #ubuntu on irc.libera.chat
60+ https://lists.ubuntu.com/mailman/listinfo/ubuntu-users
61+ https://ubuntuforums.org
62+ https://askubuntu.com
63+ https://discourse.ubuntu.com
64+
65+
66+Help Shape Ubuntu
67+-----------------
68+
69+If you would like to help shape Ubuntu, take a look at the list of ways
70+you can participate at:
71+
72+ https://discourse.ubuntu.com/contribute
73+
74+
75+About Ubuntu
76+------------
77+
78+Ubuntu is a full-featured Linux distribution for desktops, laptops, IoT,
79+cloud, and servers, with a fast and easy installation and regular
80+releases. A tightly-integrated selection of excellent applications is
81+included, and an incredible variety of add-on software is just a few
82+clicks away.
83+
84+Professional services including support are available from Canonical and
85+hundreds of other companies around the world. For more information about
86+support, visit:
87+
88+ https://ubuntu.com/support
89+
90+
91+More Information
92+----------------
93+
94+You can learn more about Ubuntu and about this release on our website
95+listed below:
96+
97+ https://ubuntu.com
98+
99+To sign up for future Ubuntu announcements, please subscribe to Ubuntu's
100+very low volume announcement list at:
101+
102+ https://lists.ubuntu.com/mailman/listinfo/ubuntu-announce
103+
104+
105+On behalf of the Ubuntu Release Team,
106diff --git a/announcements/open-for-development b/announcements/open-for-development
107new file mode 100644
108index 0000000..87d0c9b
109--- /dev/null
110+++ b/announcements/open-for-development
111@@ -0,0 +1,17 @@
112+We're pleased to announce that <CODENAME> is now open for development.
113+auto-sync has been enabled and will run soon. As usual, we expect a large
114+influx of builds and autopkgtests in this initial period, which will cause
115+delays. Please help fixing any breakage that occurs.
116+
117+The release schedule can be found at
118+
119+ https://discourse.ubuntu.com/t/
120+
121+Please check your uploads in a <CODENAME> chroot. See [1] or [2] for details on
122+how to set up such a development chroot.
123+
124+Please see the release schedule page for information about any major changes
125+and for all milestone dates.
126+
127+[1] https://wiki.ubuntu.com/SimpleSbuild
128+[2] https://wiki.ubuntu.com/DebootstrapChroot
129diff --git a/jira-milestones/end-of-life.yaml b/jira-milestones/end-of-life.yaml
130new file mode 100644
131index 0000000..701c3f1
132--- /dev/null
133+++ b/jira-milestones/end-of-life.yaml
134@@ -0,0 +1,122 @@
135+
136+- timeline: -45
137+ duedate: 3
138+ tasks:
139+ - task: Send Release End of Life Warning to ubuntu-announce
140+ description: Ensure that the email gets moderated and accepted.
141+ - task: Notify the web team manager that ubuntu pages will need to be updated to remove EOL release
142+- timeline: -10
143+ duedate: 3
144+ tasks:
145+ - task: Verify that distro-info-data has the correct EOL date for this release, and fix it if it does not
146+- timeline: 0
147+ duedate: 7
148+ tasks:
149+ - task: Clean up things before setting release to OBSOLETE in Launchpad, as otherwise removals are not actually published
150+ checklist:
151+ - NBS
152+ - New queue
153+ - Unapproved queue
154+ - Packages in -proposed (Any packages in -proposed which are just autopkgtest fixes should be removed from -proposed.)
155+ - Check for any updates which are phasing and decide if they should be fully phased or the changes reverted
156+ - task: Set release to OBSOLETE in Launchpad
157+ description: |
158+ Work with SRE, who can visit e.g. https://launchpad.net/ubuntu/$releasename/+admin even if the series page itself is too slow to load any longer).
159+ - task: Update http://changelogs.ubuntu.com/meta-release and http://changelogs.ubuntu.com/meta-release-proposed
160+ checklist:
161+ - "Set the release to Supported: 0"
162+ - "Update the ReleaseNotes URI so that it includes an EOL disclaimer, such as in PrecisePangolin/ReleaseNotes"
163+ - task: Update https://wiki.ubuntu.com/Releases for Canonical support
164+ - task: Deactivate any milestones for the release
165+ description: >
166+ Look at https://launchpad.net/ubuntu/$releasename/+milestones and open a tab for each one.
167+ Then switch the milestone from active to inactive.
168+ - task: Archive the release on old-releases on ancientminister
169+ description: |
170+ Warning: It may not be possible to follow this procedure entirely mechanically! old-releases is by its nature not very regularly maintained, and the fact that many files are purged from the master system and only exist on mirrors can cause a good deal of confusion.
171+ Refer to the publicly-visible structure on http://old-releases.ubuntu.com/releases/.
172+ This procedure indicates with some degree of accuracy what steps need to be taken, but anyone following this procedure is strongly advised to use their initiative.
173+ In the following instructions, RELEASE should be replaced throughout with the name of the EOLed release. PROJECT is used for flavours of Ubuntu other than Ubuntu itself (e.g. Kubuntu, Edubuntu, etc.).
174+
175+ Required steps (this could be a checklist, but items are quite 'huge'):
176+
177+ * Disable mirror syncing: `touch /srv/cdimage.ubuntu.com/etc/STOP_SYNC_MIRRORS`
178+ * In /srv/cdimage.ubuntu.com/www/simple/, find all directories named after the EOLed release. In each one:
179+ * Move all files containing the release number in the adjacent .pool directory to the corresponding .pool subdirectory of /srv/cdimage.ubuntu.com/www/old-releases/ (either .pool or PROJECT/.pool), creating it if necessary.
180+ * In the target .pool directory, run checksum-directory . /path/to/old/directory, or update checksums manually if necessary (in the latter case, remember to use sign-cdimage on each checksums file).
181+ * Move all files starting with a lower-case letter to the corresponding subdirectory of /srv/cdimage.ubuntu.com/www/old-releases/ (either RELEASE or PROJECT/RELEASE), creating it if necessary.
182+ * In the target directory, run checksum-directory . /path/to/old/directory ../.pool, or update checksums manually if necessary (in the latter case, remember to use sign-cdimage on each checksums file).
183+ * In the target directory, update web indices. The procedure for doing this varies depends on whether the images currently being archived supersede all previous images from the previous point release (if any), or if some images from a previous point release must be kept visible (as is the case when EOLing the server part of an LTS release).
184+ * In the former case, run DIST=RELEASE for-project PROJECT make-web-indices . PREFIX, where PREFIX is the common prefix of the images without any trailing - (e.g. ubuntu-9.10).
185+ * In the latter case, edit .htaccess and HEADER.html by hand and change the version numbers for only those images that are being superseded.
186+ * Make sure that appropriate version-number symlinks to the release name exist in /srv/cdimage.ubuntu.com/www/old-releases/ or /srv/cdimage.ubuntu.com/www/old-releases/PROJECT/.
187+ * Edit /srv/cdimage.ubuntu.com/www/old-releases/.htaccess and /srv/cdimage.ubuntu.com/www/old-releases/HEADER.html (or old-releases/PROJECT/...) by hand to refer to the EOLed releases.
188+ * In the source .pool directory (under /srv/cdimage.ubuntu.com/www/simple/), run checksum-directory . to get rid of references to the EOLed release.
189+ * Remove the remaining files and symlinks corresponding to the EOLed release from under /srv/cdimage.ubuntu.com/www/simple/. Clean up emptied directories if any.
190+ * Edit /srv/cdimage.ubuntu.com/www/simple/.htaccess and /srv/cdimage.ubuntu.com/www/simple/HEADER.html (or simple/PROJECT/...) by hand to remove references to the EOLed release.
191+ * Edit /srv/cdimage.ubuntu.com/www/simple/.htaccess (not PROJECT-specific) to add appropriate RedirectPermanent directives redirecting users to the new URLs.
192+ * Re-enable mirror syncing: `rm /srv/cdimage.ubuntu.com/etc/STOP_SYNC_MIRRORS`
193+ * Push to mirrors: `sync-old-releases; sync-mirrors`
194+ - task: Move any images from cdimage.ubuntu.com to old-images on nusakan and notify IS team for archival
195+ description: |
196+ Required steps (this could be a checklist, but items are quite 'huge'):
197+
198+ * Disable mirror syncing: `touch /srv/cdimage.ubuntu.com/etc/STOP_SYNC_MIRRORS`
199+ * If /srv/cdimage.ubuntu.com/www/full/netboot/RELEASE/ exists, remove it (it is only an HTML page with links, and does not need to be archived), remove any symlinks to it, and remove references to it from /srv/cdimage.ubuntu.com/www/full/netboot/index.html.
200+ * In /srv/cdimage.ubuntu.com/www/full/, find all directories named after the EOLed release which have /releases/ in their path. Each one will have a subdirectory identifying the milestone (e.g. release, release.1, etc.). For each one:
201+ * Move the directory to the corresponding subdirectory of /srv/cdimage.ubuntu.com/old-images/, creating it if necessary.
202+ * Remove any remaining files and symlinks corresponding to the EOLed release from under /srv/cdimage.ubuntu.com/www/full/. Clean up emptied directories if any.
203+ * In /srv/cdimage.ubuntu.com/www/torrent/, find all directories named after the EOLed release which have /releases/, /ports/, or /simple/ in their path. Remove these directories.
204+ * Re-enable mirror syncing: `rm /srv/cdimage.ubuntu.com/etc/STOP_SYNC_MIRRORS`
205+ * Push to mirrors: `sync-mirrors`
206+ - task: Archive the apt archive to old-releases
207+ description: >
208+ Even with sign-off from all parties, we typically give a generous grace period between backup and removal, a month for 9mo releases and 6mo for LTS
209+ is a reasonable lower bound.
210+ checklist:
211+ - Notify IS to backup (and verify) the ftp archive to old-releases. They should have tickets filed for this well in advance.
212+ - Remove the release from the archive (send RT ticket asking IS to follow this procedure, requiring sign-off from IS, Foundations, Release Team,
213+ - Commercial Engineering, and Launchpad)
214+ - Once that is done, ask IS to run https://wiki.canonical.com/InformationInfrastructure/OSA/LPHowTo/ObsoleteDistroSeries to remove the series from the internal FTP master host and obsolete the publications on Launchpad.
215+ - task: Update lp:ubuntu-archive-scripts to drop references to the removed release
216+ description: >
217+ This will stop tasks such as component-mismatches, proposed-migration, germinate and so on from being run.
218+ Add the EOLing release to the exclusion list in the archive-reports rsync, to stop it being mirrored from ftpmaster.
219+ - task: Disable the release in appstream-generator
220+ description: >
221+ Usually done by HeatherEllsworth. Can be done in https://git.launchpad.net/~ubuntu-desktop/+git/appstream-cloud/, removing the release from config.json,
222+ then git pull and run juju set appstream-generator config="$(cat config.json)" as prod-ue-appstream-back@wendigo (Canonical only).
223+ - task: Update osinfo-db for the move to old-releases
224+ description: Usually done by JeremyBicha.
225+ - task: Remove the EOL release from autopkgtest
226+ description: >
227+ Notify BrianMurray, JulianAndresKlode, SteveLangasek or LukaszZemczak for this task.
228+ Edit mojo/service-bundle in lp:autopkgtest-cloud to remove the release, then run mojo run on the bastion host; and remove the images
229+ (in all cloud regions, run something like glance image-list | awk -F '| ' '/adt\/ubuntu-RELEASE/ { print $2 }' | xargs glance image-delete.
230+ Also clean up old logs and results for the series with swift --os-auth-url $SWIFT_AUTH_URL --auth-version $SWIFT_AUTH_VERSION --os-tenant-name
231+ $SWIFT_TENANT --os-username $SWIFT_USERNAME --os-password $SWIFT_PASSWORD --os-region-name $SWIFT_REGION delete autopkgtest-RELEASE. (and autopkgtest-RELEASE-*)
232+ - task: Notify someone with access to the "prod-cnf-extractor" group to disable generation of command-not-found indices
233+ description: juju config cnf-extractor releases="space separated list of releases"
234+ - task: Tell Canonical IS that they can remove images for this release from the internal clouds
235+ - task: Manually remove the release from snakefruit:~ubuntu-archive/.madison-lite/config so it doesn't show up in rmadison output
236+ - task: As ubuntu-archive on snakefruit, manually remove files related to the release
237+ description: >
238+ ~/public_html/proposed-migration/RELEASE* ~/proposed-migration/output/RELEASE ~/proposed-migration/data/RELEASE* ~/public_html/seeds/*.RELEASE
239+ ~/public_html/germinate-output/*.RELEASE
240+ - task: Clear all packages from the partner repository for this release with remove-package (check with PES first)
241+ - task: Send EndOfLifeAnnouncement to ubuntu-announce, ubuntu-security-announce
242+ - task: Notify the web team manager to remove the release from the website
243+ - task: Run close-EOL-bugs RELEASE from ubuntu-archive-tools
244+ - task: Update charmed daisy retracer cronjob named "whoopsie-update-daily-users.bash.tmpl" to no longer collect stats on the release
245+ description: e.g. https://bazaar.launchpad.net/~daisy-pluckers/charms/xenial/daisy-retracer/trunk/revision/206
246+ - task: Update utils.py in https://code.launchpad.net/~daisy-pluckers/daisy/trunk so that the release is in EOL_RELEASES
247+ description: ...which will also increment a counter for that specific release e.g. unsupported.eol_raring.
248+ - task: Run script which unsubscribes teams (specifically Canonical teams) from packages which are no longer in main or restricted for supported releases
249+ - task: Remove /srv/cdimage.ubuntu.com/scratch/*/RELEASE to free up disk space
250+ - task: Remove the EoL release from ddebs
251+ description: >
252+ On ddebs.internal, move /srv/ddebs.ubuntu.com/www/dists/RELEASE* to /srv/ddebs.ubuntu.com/www/dists.old/, after which ddeb-retriever will do
253+ a garbage-collection pass.
254+ - task: Submit an RT to remove unnecessary crash data from the Error Tracker for the EoL release
255+ description: See https://rt.admin.canonical.com/Ticket/Display.html?id=128690 as an example.
256+
257diff --git a/jira-milestones/final-release.yaml b/jira-milestones/final-release.yaml
258new file mode 100644
259index 0000000..171bdb2
260--- /dev/null
261+++ b/jira-milestones/final-release.yaml
262@@ -0,0 +1,140 @@
263+- timeline: -14
264+ tasks:
265+ - task: NonLanguagePackTranslationDeadline, ensure uploads with updated translations downloaded from Rosetta are done
266+ checklist:
267+ - ubiquity (debian-installer)
268+ - ubiquity-slideshow-ubuntu (watch out for Xubuntu - translations not hosted on LP!)
269+ - gnome-user-docs and ubuntu-docs
270+ - DDTP data (package description translations)
271+ - task: Notify Language Translation Lead and the current langpack-o-matic maintainer to coordinate a fresh set of language packs
272+ description: |
273+ Currently GunnarHj and sil2100.
274+ Those need to be exported, uploaded, and built in time for the release.
275+ - task: If the new release is an LTS, make sure that hwe-support-status (located in update-manager) is up to date with the current HWE stack info, dates and versions
276+ - task: Verify there are no remaining 'bootstrap' entries in the update-i386-whitelist script in ubuntu-archive-tools
277+ - task: "Run vorlon/remove-i386-binaries from git@github.com:canonical/foundations-sandbox.git to remove any built i386 binaries that are no longer seeded"
278+- timeline: -10
279+ tasks:
280+ - task: If any image names have changed since the previous cycle, notify the web team to check the website downloader code
281+ description: |
282+ (#web-team on canonical; email: webteam@canonical.com) Ask the web team to review Release Manifest.
283+ - task: Start off release notes and announce framework
284+ description: |
285+ Call for ubuntu-docs and other team participation in content creation of overview and documentation of release bugs.
286+- timeline: -7
287+ duedate: 0
288+ tasks:
289+ - task: Selectively accept package uploads to resolve targeted bugs
290+ - task: Go through ReleaseChecklist (again, yes)
291+ - task: Review list of full iso image names and plans with web team
292+ - task: "Disable apport uploads to Launchpad ('problem_types': ['Bug', 'Package'], in /etc/apport/crashdb.conf)"
293+ description: You can reach out to BrianMurray if in doubt.
294+ - task: Notify Ubuntu and other flavour contacts to create and update their Upgrade docs at https://help.ubuntu.com/community/SERIESUpgrades
295+ - task: Send out FinalFreeze announcement to ubuntu-devel-announce@lists.ubuntu.com (usually somewhere around 21:00 UTC)
296+- timeline: -6
297+ tasks:
298+ - task: Contact the web team to confirm status
299+ checklist:
300+ - website preparations are on-track; this includes preparing download pages
301+ - update https://ubuntu.com/download/flavours
302+ - task: Post full set of pre-release images with last language pack updates to QA iso tracker to start QA testing
303+ - task: Turn off daily builds
304+ description: Unless explicit reason why they need to remain on.
305+ - task: Review unsubscribed packages in the team to package mapping report - there should be none
306+- timeline: -3
307+ tasks:
308+ - task: Make sure that /etc/issue, /etc/issue.net, /etc/lsb-release, and /etc/os-release are correct
309+ - task: Modify debian-cd/CONF.sh to set OFFICIAL
310+ - task: Ensure that the ISO tracker lists the new milestone with the "publish from manifest" flag set
311+ - task: Produce a full set of official images
312+ - task: Check the volume labels on ISO's for all architectures (cdimage/debian-cd/CONF.sh, OFFICIAL variable)
313+ - task: Clear out the testing grid
314+ - task: Clear the NBS list
315+ - task: Notify Hardware Certification team to begin certification testing
316+ - task: Notify QA to begin ReleaseValidationProcess
317+ - task: Prepare the release announcement
318+ - task: Notify Flavor Product Managers to prepare separate release announcements and review/update Release Notes
319+ description: |
320+ This should refer to the web page prepared by the teams rather than going into details of changes itself.
321+ Update the page to include any caveats
322+ - task: Review targeted bugs and take final decisions on what to fix and what to defer
323+ - task: In a local checkout of hints-ubuntu, run generate-freeze-block <list of flavours> > freeze
324+ description: |
325+ generate-freeze-block comes from lp:ubuntu-archive-tools
326+- timeline: -1
327+ tasks:
328+ - task: Pre-publish the CD images
329+ description: |
330+ Run `/home/lzemczak/ubuntu-archive-tools/publish-image-set --prepublish` will print the necessary commands.
331+ - task: Copy .manifest to .manifest.full, and prune all images from previous releases from the .manifest file
332+ description: |
333+ This allows timely mirror probing
334+ - task: Run sync-mirrors on ancientminister to push out the pre-published file structure
335+ - task: Review on the staging server the feature walk through on the website (web-team)
336+ - task: Build the sources images (cron.source) to be published, by the publisher script
337+ - task: "Ping CPC using cpc-help keyword in #ubuntu-release to update on current status to see if CPC can start staging cloud images ready for publication"
338+ - task: Apply a "block-all source" hint to proposed-migration; any further changes to -proposed not intended for SRU will need to be unblocked manually
339+- timeline: 0
340+ tasks:
341+ - task: If there is a previous milestone for this series, archive it to old-images
342+ description: >
343+ Move those images from /srv/cdimage.ubuntu.com/www/full to /srv/cdimage.ubuntu.com/old-images/, and notify the
344+ sysadmin team that these are available for off-line archival.
345+ - task: Disable mirror syncing on ancientminister, by creating /srv/cdimage.ubuntu.com/etc/STOP_SYNC_MIRRORS.
346+ - task: Publish the CD images
347+ description: |
348+ ./publish-image-set will print the necessary commands.
349+ You might need to edit cdimage/www/simple/HEADER.html and cdimage/www/simple/.htaccess by hand, if needed.
350+ - task: "Ping CPC using cpc-help keyword in #ubuntu-release to start the process of building and publishing cloud images"
351+ - task: Ping the WSL team to release the images to the store
352+ - task: Copy .manifest to .manifest.full again, pruning all images from previous releases from the .manifest file
353+ - task: Verify .manifest only contains the images currently being released, and then ask the IS vanguard to run the mirror prober continuously
354+ description: |
355+ This is to verify which mirrors are up to date; output visible here.
356+ Take a note of how many mirrors were there before this started.
357+ You can refer to the following wiki page https://wiki.canonical.com/InformationInfrastructure/OSA/LPHowTo/ManualCdImageMirrorProber
358+ NOTE! This requires the previous mirror prober run to finish first, so it might take some minutes before mirrors are cleared out.
359+ - task: Check torrents for proper functionality
360+ description: |
361+ Check that https://torrent.ubuntu.com/tracker_index has all the new images
362+ Ensure the tracker knows about the torrent, either by checking Properties -> Trackers in Transmission, or by using a CLI client such as aria2c which prints the errors to its stdout).
363+ - task: Confirm that website content is finalized
364+ description: |
365+ Further edits will be difficult under load and check with sysadmin that caches will be cleared on time (web-team, IS, release-team).
366+ - task: Check the mirror prober loop has resulted in at least 60% of the mirrors being restored, so the website can spread the load amongst more mirrors
367+ description: |
368+ This list is baked into the Ubuntu website at build time, so notify the web team to (re)build the site.
369+ - task: Coordinate with web team for publishing of staging
370+ - task: Coordinate with PR team to inform media who are waiting for launch to post their articles
371+ - task: Check through the release notes for links to old milestones and update them
372+ - task: "Update the topic on #ubuntu-devel, and #ubuntu-release-party"
373+ - task: "Make announcement in #ubuntu-release-announce, and then in #ubuntu-release-party"
374+ - task: Update the appropriate meta-release files
375+ description: >
376+ Update the appropriate meta-release files (including meta-release, meta-release-proposed, and raspi/os_list_imagingutility_ubuntu.json) in the bzr branch. N.B. meta-release-lts is done at the first point release of an LTS.
377+ Then a member of the ubuntu-release group (bdmurray, vorlon, sil2100) updates the meta-release files via foundations-bastion-ps5.internal.
378+ ssh -i ~/.ssh/id_rsa_autodeploy_trigger prod-ubuntu-web-frontends@is-bastion-ps5.internal /usr/bin/autodeploy-trigger prod-ubuntu-web-frontends refresh-changelogs
379+ - task: Ping Canonical IS to clear the content-cache in is-content-cache for changelogs.ubuntu.com-http and changelogs.ubuntu.com-https
380+ - task: Switch the development release from its codename to its version in errors/templates/bucket.html in errors
381+ - task: Notify web team to announce on the website
382+ - task: Send the release announcement to ubuntu-announce
383+ - task: Notify a Launchpad admin to set the status of this distrorelease to CURRENT, and to change any previous CURRENT distrorelease(s) to SUPPORTED
384+ - task: Deactivate release milestone in Launchpad
385+ - task: Post announcement to News & Announcements section (forum admins have posting rights)
386+ - task: Post announcement to Launchpad (ubuntu-drivers members have posting rights)
387+ - task: Create a branch for the stable release in hints-ubuntu
388+ description: |
389+ git branch <release> devel; git push origin <release> (To ensure it’s available before any 0-day SRUs are uploaded)
390+ - task: Update the main page of wiki.ubuntu.com to include the new release in the Releases table
391+ - task: Update the https://wiki.ubuntu.com/Releases table with the new release
392+ - task: Mark the ISO Tracker milestone as Released
393+ - task: Sleep!
394+- timeline: 1
395+ tasks:
396+ - task: If any changes were made to the process in this run, check whether the changes also apply to BetaProcess or ReleaseCandidateProcess.
397+ description: |
398+ Remember to modify the Jira release templates as well.
399+ - task: Restore the .manifest.full file on releases.ubuntu.com
400+ - task: Ask Canonical IS to restore the mirror prober back to normal operation
401+ - task: Continue on NewReleaseCycleProcess
402+ - task: Review through the process pages
403diff --git a/jira-milestones/new-cycle-opening.yaml b/jira-milestones/new-cycle-opening.yaml
404new file mode 100644
405index 0000000..a00db44
406--- /dev/null
407+++ b/jira-milestones/new-cycle-opening.yaml
408@@ -0,0 +1,209 @@
409+- timeline: -14
410+ tasks:
411+ - task: Ask for the maillist distroseries-changes to be set up by sending email to ubuntu-platform@rt.canonical.com to file an RT ticket
412+ description: <
413+ Note that this requires special configuration.
414+ - task: Create a release schedule for the new series
415+ description: If the release name is not yet known, substitute the letter twice, e.g. FF for the F-series.
416+ - task: Create a thread on the release category on discourse
417+ checklist:
418+ - Use generate-release-schedule-markdown CODENAME STARTDATE ENDDATE from lp:ubuntu-archive-tools to make a template, and then edit as needed (mark as draft)
419+ - "Create a redirect from https://wiki.ubuntu.com/ReleaseName/ReleaseSchedule to the new page (syntax: #REFRESH 0 https://URL.TO.THREAD)"
420+ - task: Create a release notes document for the new series
421+ description: If the release name is not yet known, substitute the letter twice, e.g. FF for the F-series.
422+ checklist:
423+ - Create a thread on the release category on discourse. Check previous discourse release notes for format.
424+ - "Create a redirect from https://wiki.ubuntu.com/ReleaseName/ReleaseNotes to the new page (syntax: #REFRESH 0 https://URL.TO.THREAD)"
425+ - task: Close the new threads, so they can be edited but not replied to
426+ description: <
427+ Release team members can do this. Until Discourse can sync groups from SSO (LP) directly, the release team group in Discourse is manually managed.
428+ Contact an admin (e.g. the Canonical community team) to be added if you need this.
429+- timeline: 1
430+ tasks:
431+ - task: Edit (cowboy) run-proposed-migration on snakefruit to disable proposed-migration for the new series (add an exit 0 to the ubuntu/$DEFAULT_SERIES case branch)
432+ description: proposed-migration must not run until autopkgtest is ready to receive test requests for the series.
433+ - task: Update lp:ubuntu-archive-scripts update-seeds, update-germinate etc. for the new name and pull it into snakefruit:~ubuntu-archive/bin/
434+ description: This will cause update-seeds to start failing until the below step is done, so do it quickly afterwards.
435+ - task: Create new seed branches based on those for the previous release, and push them to the appropriate subdirectories of git+ssh://git.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/+git
436+ description: The branch-seeds script in lp:ubuntu-archive-tools can do the hard work here.
437+ - task: Create new seed branches based on those for the previous release, and push them to the appropriate branches on Launchpad
438+ description: The branch-seeds script in lp:ubuntu-archive-tools can do the hard work here.
439+ checklist:
440+ - Have a checkout of all the seeds for the current stable release as COLLECTION.series
441+ - Run branch-seeds --dest-series <new series> <collection> ... for all the collections
442+ - Run update-seeds manually on snakefruit to confirm this all worked. Check the exit status is 0
443+ - task: Request Launchpad disable the primary Ubuntu publisher cron jobs
444+ description: <
445+ https://wiki.canonical.com/InformationInfrastructure/OSA/LaunchpadRollout#Disable_fragile_Soyuz_cron_jobs_.2835_mins_before_rollout.29
446+ - task: Notify a Launchpad admin (IS) to create new distroseries with status FROZEN
447+ description: Copy the Release Manager and Drivers forward
448+ - task: Create milestones in the new series
449+ checklist:
450+ - ubuntu-YY.MM etc., set at monthly intervals after the previous release until feature freeze
451+ - ubuntu-$version-feature-freeze, ubuntu-$version-beta or ubuntu-$version-beta-1 etc. as required
452+ - ubuntu-$version at the next release date
453+ - ubuntu-$version-updates at EOL
454+ - task: Check that the new distroseries exists with status FROZEN, and that the previous distroseries has status CURRENT
455+ - task: Initialize the series
456+ description: <
457+ Visit http://launchpad.net/ubuntu/<series> and click "Initialize Series" in the top right menu.
458+ Select which Debian parents you want for this series (it defaults to the existing ones), which architectures you want,
459+ ensure "Copy Source And Binaries" is selected and click the "Initialize Series" button. Wait for this to finish before running the publisher,
460+ this will take 15 to 30 minutes.
461+ In the event that a new architecture was added ensure it is also added to command-not-found-extractor's update_all.sh script.
462+ - task: Re-enable the Soyuz publisher cron job for a single publisher run
463+ - task: Add the new series name to the official Launchpad bug tags, and add verification-needed-PREVIOUS and verification-done-PREVIOUS where PREVIOUS is the name of the previous series
464+ - task: After the first publisher run has completed, ask ~IS to run "ANALYZE sourcepackagepublishinghistory; ANALYZE binarypackagepublishinghistory;" on launchpad_prod
465+ - task: Re-enable the Soyuz publisher cron job for a second publisher run
466+ description: Watch the logs to make sure this work.
467+ - task: As ubuntu-archive@snakefruit, use compare-archives to compare dists trees under ~/mirror/ubuntu/ for previous and current distroseries and sign off on any differences
468+ description: <
469+ The only differences should be the distroseries name, that custom uploads (installer-*, dist-upgrader-all, and i18n) are missing from dists/DSN/main,
470+ and that Contents-*.gz do not yet exist (these will be created when generate-contents next runs).
471+ - task: Permanently re-enable the Soyuz publisher cron job
472+ - task: Copy the pending syncs which we didn’t want to accept from previous-proposed UNAPPROVED, and then reject them
473+ - task: Notify the autopkgtest infra maintainers to run through https://autopkgtest-cloud.readthedocs.io/en/latest/administration.html#opening-up-a-new-series
474+ - task: Update lp:~ubuntu-release/britney/britney1-ubuntu/ with the new DEFAULT_SERIES
475+ - task: Once autopkgtest is ready, finish the britney initialization
476+ checklist:
477+ - on snakefruit, cp -a ~/proposed-migration/data/OLDRELEASE ~/proposed-migration/data/NEWRELEASE and cp -a ~/proposed-migration/data/OLDRELEASE-proposed ~/proposed-migration/data/NEWRELEASE-proposed so that we do not reset state for devel
478+ - undo the run-proposed-migration cowboy from above, so that proposed-migration can start running for the new series
479+ - task: [~techboard] Check that the process of initialising the new distroseries granted queue admin access to ~ubuntu-release to the new distroseries
480+ description: edit-acl -p ubuntu-release -S NEW -t admin query
481+ - task: Move the bootstrap archive on snakefruit to use the new series, so the chroots can reference it
482+ - task: Ask the launchpad team to run manage-chroot operations to copy OLDRELEASE buildd chroots forward to NEWRELEASE
483+ - task: As lp_buildd@anonster, run /srv/launchpad.net/production/launchpad/scripts/add-missing-builds.py -s NEW-proposed plus -a ARCH for each architecture in NEW
484+ description: Steve Langasek and Colin Watson have access, or ask IS.
485+ - task: Add a request to Launchpad devs and admins to open Launchpad translations for the new distroseries
486+ description: "Also make sure this actually happens. (TODO: Work out a better process for keeping track of this in conjunction with Launchpad.)"
487+ - task: Modify various reports on snakefruit (at least britney) to point to the new distroseries
488+ checklist:
489+ - cd public_html; find . -maxdepth 3 -type l | while read symlink; do target=$(readlink "$symlink"); case $target in \*autopkgtest-results.cache\*) ;; \*OLDRELEASE\*) echo $symlink '->' $target; target=$(echo "$target" | sed -e's/OLDRELEASE/NEWRELEASE/'); ln -sf $target $symlink ;; esac; done
490+ - See the git log in ~ubuntu-archive/ubuntu-archive-tools for the changes done for the last release and update to the current one
491+ - Add the new release to ~ubuntu-archive/.madison-lite/config on snakefruit so that rmadison starts working
492+ - task: Notify someone in the 'merges' LDAP group to set up merge-o-matic to point to the new distroseries
493+ description: Switch to the merge user, cd /srv/patches.ubuntu.com/code/, bzr pull.
494+ - task: Upload some basic packages for the new series
495+ description: At least debootstrap is needed to build the livefs builds.
496+ checklist:
497+ - Update distro-info-data for the new series.
498+ - Merge base-files if necessary and change /etc/issue, /etc/issue.net, /etc/lsb-release, and /etc/os-release to refer to the new release.
499+ - Add the symlink for the new series in debootstrap
500+ - Make sure these are migrated and ping the cpc team to do the livefs builds.
501+ - task: Update global.conf and go in lp:~ubuntu-transition-trackers/ubuntu-transition-tracker/configs
502+ - task: Notify toolchain developers to upload new toolchain
503+ description: Iterate uploads as necessary until this has successfully built on all architectures.
504+ - task: Make sure that proposed-migration is configured properly for the new series
505+ description: |
506+ Check that https://people.canonical.com/~ubuntu-archive/proposed-migration/<NEWSERIES>/autopkgtest-results.cache exists, as required by bileto.
507+ If not, this can be done by creating a new symlink to the proposed-migration’s data directory.
508+ - task: Remove the "block-all source" hint from proposed-migration
509+ - task: Once the tool chain is ready, notify about readiness for uploads
510+ checklist:
511+ - Notify a Launchpad admin to set the status of the new distroseries to 'Active Development'.
512+ - Accept everything in the Unapproved queue for the new distroseries
513+ - Update the topic on #ubuntu-devel and #ubuntu-release the new release is open
514+ - Email ubuntu-devel-announce that the new release is now open for uploads
515+ - task: Check whether there are any uploads in the previous release's -updates pocket not in the new release, and copy them over if so
516+ - task: [~ubuntu-archive] Copy everything from PREVIOUS-proposed to DEVEL-proposed, and delete the ones from PREVIOUS-proposed that aren't SRUs
517+ - task: [~techboard] Grant ~ubuntu-sru queue admin access to the previous distroseries
518+ description: |
519+ for pocket in proposed updates; do edit-acl -p ubuntu-sru -S PREVIOUS --pocket $pocket -t admin add; done;
520+ Remove ~ubuntu-release's queue admin access
521+ for pocket in release proposed; do edit-acl -p ubuntu-release -S PREVIOUS --pocket $pocket -t admin delete; done.
522+ - task: Inform the SRU team that the bulk copy has been done, so that they know to sort out PREVIOUS-proposed vs. DEVEL-proposed for any new SRUs they accept
523+ - task: Drop the --dry-run flag from the auto-sync job in ubuntu-archive@snakefruit's crontab
524+ - task: Contact owners of each image with seeded snaps to have snap channels opened and closed for the new release
525+ description: |
526+ Note: image owners are not well defined, some guesswork may be needed. For example for Desktop a starting point could be a Desktop Team manager.
527+ checklist:
528+ - Get the list of seeded snaps from the seeds: `readarray -t seeded_snaps < <(grep -ohP '(?<=snap:)[^\s/]*' * 2>/dev/null | sort -u)`
529+ - Add subiquity as it's seeded but not in the seeds: `seeded_snaps+=(subiquity)`
530+ - Try downloading all the snaps from the stable channel: for `s in "${seeded_snaps[@]}"; do snap download "$s" --channel=stable/ubuntu-XX.YY; done`
531+ - If a failing download is for an internally developed snap (we're upstream), contact the relevant team to have the channel open.
532+ - If a failing download is for an external snap (e.g. firefox), ask the image owner to ask the snap upstream to open the channel.
533+ - Iterate until all the downloads succeed.
534+ description: <
535+ The list of seeded snaps can be extracted from the seeds via `grep -ohP '(?<=snap:)[^ ]*' * 2>/dev/null | sort -u`. The list may
536+ have to be manually amended (e.g. dropping experimental snaps, or adding `subiquity` as it's not in the seeds).
537+ Assuming
538+
539+ - task: "Create new live filesystem configurations for the new distroseries, using branch-livefses in lp:ubuntu-archive-tools"
540+ description: <
541+ This requires someone in ~launchpad-ppa-admins/~launchpad-ppa-self-admins, ~ubuntu-cdimage and ~launchpad-livefs-builders.
542+ This currently needs to be done for multiple owners.
543+ checklist:
544+ - ubuntu-cdimage
545+ - cloud-images
546+ - cloudware
547+ - cloud-images-release-managers
548+ - task: Create data/RELEASE, tools/RELEASE, and tools/boot/RELEASE directories in debian-cd based on corresponding directories for the previous release
549+ - task: Add the new release to CONF.sh and set OFFICIAL to "Alpha".
550+ - task: Adjust cdimage code to be aware of the new release
551+ description:
552+ Example - https://bazaar.launchpad.net/~ubuntu-cdimage/ubuntu-cdimage/mainline/revision/2030
553+ - task: On ancientminister configure ~cdimage/.isotracker.conf
554+ - task: Notify stgraber, vorlon, or bdmurray to follow README.series on db@limequat (the ISO tracker database) after sudo'ing to db
555+ description: Confirm that the new series has a manifest in the ISO tracker administrative interface.
556+ - task: Target issues from the previous release's release notes to be fixed in the new release
557+ - task: Notify Brian Murray or a real ~ubuntu-archive member to create an Apport retracer apt configuration (example for 17.04) for the new release
558+ description: <
559+ Roll it out to porter-i386:/home/ubuntu-archive/config. Additionally, enable -proposed for the version of Ubuntu which was just released.
560+ It'd also be good to clean out the retracer cache (in /home/ubuntu-archive/cache-$arch/) for the previous development release as crashes should no longer
561+ be submitted to Launchpad.
562+ - task: Check http://ddebs.ubuntu.com for the new release
563+ description: <
564+ In principle that should happen by itself, but in practice it may crash/hang on archive.ubuntu.com not yet having indexes, or run into time outs on
565+ the gigantic first import after opening/copying the new release). This is running on ddebs.internal → sudo -u ddebs -i; This has a checkout of
566+ lp:ddeb-retriever and is cron driven.
567+ - task: Notify someone with access (hellsworth) to the user update config.json to add the new release to the list in git lp:~ubuntu-desktop/+git/appstream-cloud
568+ description: <
569+ Make sure the json is valid, and then as prod-ue-appstream-back@wendigo run juju set appstream-generator config="$(cat config.json)" after pulling.
570+ See 9163c1a2bc5fb3c2c2ba1c27df8f7573a54b4045.
571+ - task: Notify William Grant to update the ftbfs on qa.ubuntuwire.com
572+ - task: Notify Rhonda D'Vine (Rhonda) to update packages.ubuntu.com
573+ - task: Notify an archive admin to update people.c.c/~ubuntu-archive/transitions and udd.debian.org
574+ description: currently done in the `ben` lxc container
575+ - task: Update lp:ubuntu-manpage-repository/production for the new release codename
576+ description: e.g. adding a release, and submit an RT to have the server updated
577+ - task: Notify Brian Murray to update whoopsie-update-daily-users cronjob in the retracer charm owned by the daisy-pluckers team to include the new release of Ubuntu
578+ - task: Notify Brian Murray to update the Ubuntu Error Tracker for the new release of ubuntu
579+ description: e.g. errors change (https://bazaar.launchpad.net/~daisy-pluckers/errors/trunk/revision/644) and daisy change (https://bazaar.launchpad.net/~daisy-pluckers/daisy/trunk/revision/946)
580+ - task: Notify someone with access to the "prod-cnf-extractor" group on wendigo to enable generation of command-not-found indices
581+ description: juju config cnf-extractor releases="space separated list of releases"
582+ - task: Update ubuntu-release-upgrader to handle the new release
583+ description: <
584+ e.g. https://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu-release-upgrader/trunk/revision/3181 and DistUpgradeQuirks
585+ e.g. https://bazaar.launchpad.net/~ubuntu-core-dev/ubuntu-release-upgrader/trunk/revision/3232.
586+ - task: If the new release is an LTS, reach out to the official Ubuntu flavors regarding their LTS status (the maintenance period)
587+ description: After gathering feedback, updating both the release schedule and release notes discourse threads.
588+ - task: Revisit the post-release items for the release which was just performed, confirm they were completed, and complete them now if not
589+- timeline: 7
590+ duedate: 14
591+ tasks:
592+ - task: Notify 'ubuntu-devel' and 'ubuntu-devel-announce' that the release is now open and where to subscribe to the release'-changes' maillist
593+ - task: Notify the Launchpad team to upload new buildd chroots
594+ description: (which should be done occasionally throughout the cycle, for efficiency).
595+ - task: Merge base-files if necessary and change /etc/issue, /etc/issue.net, /etc/lsb-release, and /etc/os-release to refer to the new release
596+ - task: Merge debootstrap if necessary and create a bootstrap script for the new release as a copy of the previous one
597+ description: Currently, we can just make the new one a symlink to gutsy, as it hasn't changed since then.
598+ - task: Merge lintian if necessary and update the lists of Ubuntu release names to include the new release name in all supported releases of Ubuntu (i.e. SRU it!)
599+ - task: Merge vim if necessary and update lists of Ubuntu release names to include the new release name
600+ - task: Merge clang if necessary and update lists of Ubuntu release names to include the new release name
601+ - task: Do a no change rebuild of devscripts to pick up the new development release from distro-info
602+ - task: Update meta-release-development to handle the new release
603+ - task: Notify ubiquity maintainer(s) to run debian/rules update, adjust as necessary to account for changes, and upload
604+ - task: Ensure that the ISO tracker has a daily-build "milestone" for the new release
605+ - task: Edit default_milestone in ~cdimage/.isotracker.conf to match the new milestone name in the ISO tracker
606+ - task: Notify canonical-platform-qa (qa-team@lists.canonical.com) to set up Utah jobs for Ubuntu desktop and server
607+ - task: In production/current-triggers if anything is not open ended in the third column (series names) update them for the new series on cdimage-builder.internal as appropriate.
608+ - task: On cdimage-builder.internal turn live filesystem and cdimage cron jobs back on
609+ description: After ensuring that the debian-cd and cdimage branches have been updated
610+ - task: Add the date of the previous release to calendar.ubuntu in bsdmainutils
611+ - task: Update ubuntu-release-notes project to know about the new series
612+ - task: Contact flavours to confirm their ongoing participation in the new release, and verify that the contact in the ISO tracker is still accurate
613+ - task: If it has not already been done calculate the release date for the next release of Ubuntu
614+ description: <
615+ In general, October releases follow a 25-week schedule, while April releases follow a 27-week schedule, to compensate for year-end holiday
616+ (non-LTS releases might break this cycle to wiggle things a bit). Add the release date to the Canonical Ubuntu Release Calendar.
617+ - task: Continue on MilestoneProcess
618diff --git a/jira-milestones/point-release.yaml b/jira-milestones/point-release.yaml
619new file mode 100644
620index 0000000..94703da
621--- /dev/null
622+++ b/jira-milestones/point-release.yaml
623@@ -0,0 +1,142 @@
624+- timeline: -42
625+ tasks:
626+ - task: Create a release tracking Discourse thread for the release in mention.
627+ description: |
628+ This should include:
629+ * On top, a short summary of the current state of the release
630+ * Sections for release blocker and upgrade blocker bugs
631+ * Section for bugs to watch for
632+ - task: Review the release's release notes for any "Known Issues" which still need fixing and work with teams to get them fixed.
633+ - task: Coordinate with the kernel team to ensure HWE kernels are updated to the new target release
634+ description: See https://wiki.ubuntu.com/Kernel/RollingLTSEnablementStack#Update_Schedule-2
635+- timeline: -28
636+ tasks:
637+ - task: In coordination with QA, verify that all candidate bugs are fixed
638+ - task: Refresh (if needed) any cd-boot-image-* packages for the series
639+ description: This might be needed whenever any of he boot-related packages got any updates.
640+ - task: For the .2 point release, enable the HWE stack for the series
641+ description: |
642+ Needs doing if this point release includes the switch to enable the HWE stack (usually XX.XX.2)
643+ checklist:
644+ - Make sure that the variant list in livecd-rootfs's live-build/ubuntu-server/hooks/033-kernel-bits.binary hook includes both ga and hwe to make sure subiquity offers both kernel flavors. Upload and fast-forward into -updates in case it doesn't.
645+ - Make sure that the server-ship-live seed includes the new hwe kernel.
646+ - Check and mark livecd-rootfs auto/config LB_KERNEL_FLAVOURS to the -hwe-XX.XX variant for every desktop flavor participating.
647+ - task: Change cdimage/lib/cdimage/config.py and debian-cd/CONF.sh to use the new release version number
648+ - task: Make sure that that we are building the daily images with -proposed enabled
649+ - task: Update the manifest to reflect publishing status of images based on input from product leads
650+ - task: Build CD images and smoke-test in some convenient environment to check for obvious failures
651+ - task: Liaise with teams, QA, community, certification and all involved teams to arrange for testing resources
652+ description: We need to make sure that we have QA coverage for every flavor (desktop, server, pi, riscv, kubuntu etc.)
653+- timeline: -21
654+ tasks:
655+ - task: Notify translations-team to prepare updates for point release
656+ - task: Contact QA and certification as appropriate to request testing for hardware recertification
657+ Make sure to get early feedback on certification testing from the daily images.
658+ - task: Check to see if python-apt has been uploaded recently (upload if needed)
659+ - task: Check to see if ubuntu-release-upgrader have been uploaded recently (upload if needed)
660+ description: If not, upload a new version after running pre-build.sh as that generates the updated lists of mirrors.
661+ - task: Ensure that the stable/ubuntu-XX.YY.Z branch has been published for the subiquity snap
662+- timeline: -14
663+ tasks:
664+ - task: Include the latest translation updates into -proposed for the point release
665+ description: |
666+ Detailed information about the process can be found here: https://git.launchpad.net/langpack-o-matic/tree/doc/operator-guide.txt
667+ - task: Prepare change summary and release announcement
668+ description: |
669+ Script to use for preparing the change summary: http://people.canonical.com/~vorlon/release-updates.py
670+ * Sort and/or re-divide updates into rough categories (see previous summaries)
671+ * Remove administrative-only bugs (e.g. kernel release tracking)
672+ * Try to reduce each entry to just a description of the change; remove redundant bug references and information about where the change came from (people can go to the raw changelog if they care)
673+ * This can involve substantial amounts of editing; make sure you have a good editor and/or a clear grasp of regular expressions
674+ - task: Make sure all critical package updates are by now done and landed in -updates or -security
675+ - task: Check phased-updates for any packages in -updates which have stopped phasing, or are still phasing
676+ description: |
677+ Decide whether to fully phase them or revert to the previous version of the package.
678+ https://people.canonical.com/~ubuntu-archive/phased-updates.html
679+ - task: Review the release's release notes for any "Known Issues" which are now fixed and remove them.
680+ - task: Disable -proposed for the series daily image builds (to build images as close to the final product as possible)
681+ - task: Ask Certification and QA to start performing preliminary image testing on the daily images as much as possible from now til release
682+ description: |
683+ With the goal of dentifying any release critical bugs that have not been noticed earlier.
684+ - task: Coordinate with the SRU team to be more careful on which packages get promoted to -updates, keeping the incoming point-release in mind
685+ description: >
686+ Keep in mind that due to the fact that even release-critical bugs require an aging and verification period as per the usual SRU policy,
687+ this is the final 'safe' moment whenever release facing updates can be accepted without risking the delay of the point release.
688+- timeline: -7
689+ duedate: 4
690+ tasks:
691+ - task: Release translation updates (language-packs) into -updates
692+ description: |
693+ Detailed information about the process can be found here: https://git.launchpad.net/langpack-o-matic/tree/doc/operator-guide.txt
694+ - task: Notify web team of the upcoming point release
695+ description: |
696+ * Determine who from the team the publishing contact will be.
697+ * Include summary list of actual file names of ISOs that will make up releases.
698+ * Include detailed information about which image file names will change on the mirrors for the point release, and which ones will not.
699+ * Discuss release stability and handoffs on release date.
700+ - task: Upload a new base-files package to -proposed to bump the lsb_release description
701+ description: >
702+ Do not change the DISTRIB_RELEASE value, which is used programmatically by third-party software.
703+ If the etc/os-release file exists, update VERSION and PRETTY_NAME, don't update VERSION_ID.
704+ - task: Push base-files through to -updates and ensure that it is fully phase
705+ - task: Once testing is verified to be complete, move packages to -updates
706+ description: >
707+ This should vary depending on how much testing of the daily -proposed images has been done - ideally we want to flush the whole -proposed
708+ pocket to not invalidate the earlier testing.
709+ If anything is moved to -updates and on installation media also ensure to fully phase it.
710+ - task: Analyze the package diffs between last point-release and the current daily image for each participating flavour
711+ description: ...while stripping versions to make sure no changes are pulling in a bunch of new/unexplained packages.
712+ - task: Turn off cron jobs that will auto update into -updates until final images are tested
713+ - task: Send out an e-mail notifying developers of the -updates pocket freeze for the duration of the point-release
714+ - task: Build candidate release images and populate into iso tracker
715+ description: |
716+ (double check that those images are NOT building with -proposed enabled). Re-spin when appropriate.
717+ checklist:
718+ - Before running builds, make sure cdimage is up-to-date with archive contents and run anonftpsync on ancientminister
719+ - Also remember about building source images along with those (e.g. DIST=focal cron.source), re-spinning when appropriate
720+ - Remember about building core images as well (as per UbuntuCore/ReleaseProcess)
721+ - task: Create a snapshot of the archive
722+ description: |
723+ `ubuntu-archive@snakefruit:~$ point-release-snapshot focal focal.3-security-updates-snapshot`
724+ ...which will copy the relevant indices to a subdirectory of ~ubuntu-archive/point-releases/
725+ Remember to re-create the snapshot whenever new candidate images are built!
726+- timeline: 0
727+ tasks:
728+ - task: Check with IS whether the previous point release needs to be moved off before prepublishing due to mirror space constraints
729+ - task: If this point-release is an LTS with an OEM stack, contact the Certification Team for a formal sign off of the images
730+ - task: Pre-publish images
731+ description: Running `./publish-image-set --prepublish` will print the necessary commands.
732+ - task: Copy .manifest to .manifest.full, and prune all images from previous releases from the .manifest file to allow timely mirror probing
733+ - task: Run sync-mirrors on ancientminister to push out the pre-published file structure
734+ - task: Release images as final, and move the previous images to old-releases.ubuntu.com
735+ checklist:
736+ - Find which previous images on cdimage.ubuntu.com for this release are going to be replaced by this image set, and archive them to old-images
737+ - Publish images, `./publish-image-set.py` will print the necessary commands
738+ - Update version numbers in cdimage/www/simple/HEADER.html and cdimage/www/simple/.htaccess
739+ - Archive releases.ubuntu.com images from the previous point release to old-releases by running archive-point-release
740+ - Copy .manifest to .manifest.full again, pruning all images from previous releases from the .manifest file to allow timely mirror probing
741+ - Run sync-mirrors on ancientminister to push out the published file structure
742+ - If you moved images to old-releases, remember to run sync-old-releases as well
743+ - Notify Web team to update the iso URLs on the ubuntu.com website
744+ - Remember to publish core images as well
745+ - task: Ping bdmurray to update meta-release file on http://changelogs.ubuntu.com/
746+ - task: Regenerate the Raspi Installer JSON file to include the latest images and checksums
747+ description: Ping waveform for this.
748+ - task: Work with release and web publishing team to monitor mirror pickup
749+ checklist:
750+ - Verify download from ubuntu.com
751+ - Check that the torrents are working
752+ - Verify download from one of the mirrors
753+ - task: Send the announcement mail
754+ checklist:
755+ - ubuntu-announce
756+ - Update Discourse Tracking bug
757+ - task: Notify press release team if needed
758+- timeline: 1
759+ tasks:
760+ - task: Restore the .manifest.full file on releases.ubuntu.com
761+ - task: Deactivate the just released "point release" milestone target
762+ - task: Re-enable -proposed for daily builds on cdimage
763+ - task: Re-enable daily builds
764+ - task: Send out update to people running previous LTS (after migration testing completed)
765+ - task: Gather feedback info for future improvements to process

Subscribers

People subscribed via source and target branches