Merge ~paride/ubuntu-release-tools/+git/templates:snap-channel-opening-howto into ubuntu-release-tools:main
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) |
Related bugs: |
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
Description of the change
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
1 | diff --git a/announcements/final-release-lts b/announcements/final-release-lts |
2 | new file mode 100644 |
3 | index 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, |
106 | diff --git a/announcements/open-for-development b/announcements/open-for-development |
107 | new file mode 100644 |
108 | index 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 |
129 | diff --git a/jira-milestones/end-of-life.yaml b/jira-milestones/end-of-life.yaml |
130 | new file mode 100644 |
131 | index 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 | + |
257 | diff --git a/jira-milestones/final-release.yaml b/jira-milestones/final-release.yaml |
258 | new file mode 100644 |
259 | index 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 |
403 | diff --git a/jira-milestones/new-cycle-opening.yaml b/jira-milestones/new-cycle-opening.yaml |
404 | new file mode 100644 |
405 | index 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 |
618 | diff --git a/jira-milestones/point-release.yaml b/jira-milestones/point-release.yaml |
619 | new file mode 100644 |
620 | index 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 |