Release day is a nerve-wracking time for several teams. Happily we’ve done it a few times now*, so we have a rough idea of how the process should go.
There have been some preparations going on in advance:
- Last week we imposed a “quiet period” on migrations. That’s about as frozen as we can get; it means that even RC bugs need to be exceptional if they aren’t to be deferred to the first point release. Only late-breaking documentation (like the install guide) was accepted.
- The security team openedÂ jessie-updates for business, carried out a test upload, and have since released several packages so that those updates are available immediately after release.
- The debian-installer team made a final release.
- Final debtags data was updated.
- Yesterday the testing migration scriptÂ britney and other automatic maintenance scriptsÂ that the release team run were disabled for the duration.
- We made final preparations of things that can be done in advance, such as drafting the publicity announcements. These have to be done in advance so translators get chance to do their work overnight (the announcement was signed off at 15:30UTC today, translations are starting to arriveÂ right now!).
The following checklist makes the release actually happen:
- OnceÂ dinstall is completed at 07:52, archive maintenance is suspended – the FTP masters will do manual work for now.
- Very large quantities of coffee will be prepared all across Europe.
- Release managers carry out consistency checks of the Jessie index files, and confirm to FTP masters that there are no last-minute changes to be made. RMs get a break to make more coffee.
- While they’re away FTP masters begin the process of relabelling Wheezy asÂ oldstable and Jessie asÂ stable. If an installer needs to be, er, installed as well, that happens at this point. Old builds of the installer are removed.
- A new suite forÂ Stretch (Debian 9) is initialised and populated, and labelledÂ testing.
- Release managers check that the newly-generated suite index files look correct and consistent with the checks made earlier in the day. Everything is signed off – both in logistical and cryptographic terms.
- FTP masters trigger a push of all the changes to the CD-building mirrorÂ so that production of images can begin. As each image is completed, several volunteers download and test it in as many ways as they can dream up (booting and choosing different paths through the installer to check integrity).
- Finally a full mirror push is triggered by FTP masters, and the finished CD images are published.
- Announcements are sent by the publicity team to various places, and by the release team to the developers at large.
- Archive maintenance scripts are re-enabled.
- The release team take a break for a couple of weeks before getting back into the next cycle.
During the day much of the coordination happens in the #debian-release, #debian-ftp and #debian-cd IRC channels. You’re welcome to follow along if you’re interested in the process, although we ask that you are read-only while people are still concentrating (during the Squeeze release, a steady stream of people turned up to say “congratulations!” at the most critical junctures; it’s not particularly helpful while the process is still going on). The publicity team will be tweeting and denting progress as it happens, so that makes a good overview too.
If everything goes to plan, enjoy the parties!
(Disclaimer: inaccuracies are possible since so many people are involved and there’s a lot to happen in each step; all errors and omissions are entirely mine.)
* yes yes, I am being particularly English today.