Workflow for the Release Point announcements
This page describe the current workflow and best practices for the creation and publication of announcements of release points.
This task has to be run by Publicity delegates and/or webmasters because you need permissions to stop cron jobs, build the website, and push to mirrors.
1. on $expected-release-date we need to publish the announcement in the website, and update most of the website to reflect the point releases we are going to offer from now on. To avoid presenting an updated info in some places while the CD images are not ready yet, or while other parts of the website still didn't get updated, we're going to stop the cron jobs that build the website automatically, and thus update and build ourselves, and push to mirrors, as it is needed.
1.1 Open an ssh session in www-master.debian.org
1.2 Stop the cron jobs that build the website:
sudo -u debwww crontab -e
- and mark as comment the lines related to the website builds the ones that launch /srv/www.debian.org/cron/often and /srv/www.debian.org/cron/lessoften
1.3 Stop any job of website build that is running. You can see the processes by typing:
sudo -u debwww pstree -p debwww
and stop it with
sudo -u debwww kill PID
2. The release team will probably have written a draft (or two if there is release point for stable and oldstable) in the publicity announcements git repository under en/$year/YYYYMMDD.wml and have sent a mail to email@example.com (adding in CC firstname.lastname@example.org and email@example.com) asking for reviews and translations, so check the folders of other languages (or commit log of the repository).
2.1. Publish the announcement in the website: you just need to add it to the webwml CVS repository at webwml/english/News/$year with the namescheme YYYYMMDD.wml). Take care also of all the available translations commiting also them on the appropriate dirs. Here is a hacky shell loop for moving the files. You will need to adjust the announcement name and also the path to webwml on your system.
#FIXME: read parameters #FIXME: create missing Makefiles ann=2015/20150606.wml ; year=2015 ; date=20150606 ; webwml=/home/user/path/to/webwml ; for code in $(ls */$ann | cut -d/ -f 2) ; do lang=$(grep -l LANG=$code $webwml/*/.wmlrc | sed 's/.*webwml.//;s_/.*__') ; mkdir -p $webwml/$lang/News/$year/ ; mv $code/$ann $webwml/$lang/News/$year/$date.wml ; done ; echo These announcements remain: $(ls */$ann)
2.2. Run a partial rebuild of the website:
ssh -tt wolkenstein.debian.org sudo -u debwww /srv/www.debian.org/update-part News
2.3. Now you're ready for creating the mail: the script to create it is the publicity dpn repo under scripts/DPNhtml2mail.pl Please note that the script is not perfect: a check and a couple of adjustments by hand are usually required (and a patch to improve it, as well!)
./scripts/DPNhtml2mail.pl -t news -i $year/$date
2.4. Send the mail to firstname.lastname@example.org.
2.5. Follow the instructions in https://micronews.debian.org/pages/contribute.html to send a microblogging that will be mirrored in identi.ca/debian and other social networks.
3. For stable/oldstable point releases, almost the whole website needs to be rebuilt but the push to mirrors cannot be made until the installation images are ready (keep an eye on #debian-cd and #debian-release). We will update the website manually, without pushing to mirrors.
3.1 english/releases/codename/errata.wml and english/template/debian/release_info.wml need to be updated with the version number of the point release.
Add a line in english/releases/codename/errata.wml to point to the URL of the announcement for the point release.
In the release_info.wml files there are 3 tags to be updated: current_release_* , current_release_date_* and current-cd-release; the push to mirrors should wait until the the CD images are ready.
In the case of stable releases, english/releases/codename/index.wml needs to be updated too.
Commit the changes (in your local copy, no in www-master.debian.org)
3.2. In www-master.debian.org, cvs up /srv/www.debian.org/webwml to update the whole website
3.3. Build the relevant parts of the website, using the script:
sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part-pabs CD
(then repeat the command with other folder, until all the relevant folders are updated. At least: releases, CD, distrib, ports. Don't build the "security" folder because that one takes too long).
3.4. Build the homepage and files in the main folder with:
sudo -u debwww NOSUBDIRS=1 NOMIRROR=1 /srv/www.debian.org/update-part-pabs index
3.5. You can review the output of all the website builds in /srv/www.d.o/www
4. Once the installation images are ready, trigger to mirrors so the updated website gets published:
sudo -u debwww /srv/www.debian.org/cron/parts/999TriggerMirrors
5. And finally, undo the changes in crontab so the next website build runs as usual:
sudo -u debwww crontab -e
(the next rebuild will automatically rebuild the /security and other folders, if needed)
6. You may want to follow again the instructions in https://micronews.debian.org/pages/contribute.html to send a microblogging about the installation images of the new point release(s) ready to download from the Debian website (not needed if not much time passed between the announcement itself and this moment).
7. Remove the announcement from the publicity announcements git repository once it has been published.
8. Finally, update the debian-timeline with this event.