Differences between revisions 1 and 38 (spanning 37 versions)
Revision 1 as of 2017-10-06 22:41:51
Size: 5600
Editor: LauraArjona
Comment: Add page about release point announcements
Revision 38 as of 2022-03-26 18:59:53
Size: 8481
Editor: LauraArjona
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
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. The release team will probably have written a draft (or two if there is release point for stable and oldstable) in the [[https://salsa.debian.org/publicity-team/announcements|publicity announcements git repository]] under en/$year/YYYYMMDD.wml and have sent a mail to debian-publicity@lists.debian.org (adding in CC debian-l10n-english@lists.debian.org and debian-i18n@lists.debian.org) asking for reviews and translations, so check the folders of other languages (or commit log of the repository).
Line 9: Line 9:
1.1 Open an ssh session in www-master.debian.org 1.1. Commit the announcement files to the website repo:

1.1.1. You need to add it to the webwml git repository at webwml/english/News/$year with the namescheme YYYYMMDD.wml. Add and commit the English version first. Then, take note of the hash of the commit of the English file (you can do "git log english/News/$year/YYYYMMDD.wml" and copy the hash of the most recent commit).

1.1.2. Then copy the translations to their corresponding folders (adding Makefiles if needed), and then edit them to add the hash in the "translation-check" header.

For example, let's say that the French translation file has a first line like this:

{{{
#use wml::debian::translation-check translation=" " maintainer="Jean-Pierre Giraud"
}}}

Then you have to paste the hash so it looks like something like this:

{{{
#use wml::debian::translation-check translation="0788aa9ab387393e2e9236d36df0630ae1c038c6" maintainer="Jean-Pierre Giraud"
}}}

Save the files, and then add and commit the translations (and makefiles if any) You can add and commit all the files at the same time.

1.1.3. Edit the /english/homepagenews.data file to add the YYYYMMDD of the announcement on top, and remove an old news (usually the announcement of the former release point, so we don't have for example 10.9 and 10.8 on the homepage). '''Important: Remove any extra blank lines at the end of the file, to avoid the build producing the line "No news items for this year" after the list of news'''. Commit the changes.

1.2. Publish the announcement. Run a partial rebuild of the website. We'll do it in two steps:

Rebuild the News folder:
{{{
   ssh -tt www-master.debian.org sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part News
}}}

Now update the homepage (and RSS), and push to mirrors:

{{{
   ssh -tt www-master.debian.org sudo -u debwww NOSUBDIRS=1 /srv/www.debian.org/update-part index
}}}

1.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
}}}


1.4. Send the mail to debian-announce@lists.debian.org.

1.5. Follow the instructions in https://micronews.debian.org/pages/contribute.html to send a microblogging that will be published in micronews.debian.org and mirrored in the @debian profile in different social networks.

2. 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.

2.1. 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 would need to stop the cron jobs that build the website automatically, and thus update and build ourselves, and push to mirrors, as it is needed.

Open an ssh session in www-master.debian.org
Line 16: Line 67:
1.2 Stop the cron jobs that build the website: Stop the cron jobs that build the website:
Line 23: Line 74:
2. The release team will probably have written a draft (or two if there is release point for stable and oldstable) in the [[https://anonscm.debian.org/cgit/publicity/announcements.git|publicity announcements git repository]] under en/$year/YYYYMMDD.wml and have sent a mail to debian-publicity@lists.debian.org (adding in CC debian-l10n-english@lists.debian.org and debian-i18n@lists.debian.org) asking for reviews and translations, so check the folders of other languages (or commit log of the repository). 2.2. We need to stop any job of website build that is running to avoid automatic push to mirrors. You can see the processes by typing (in www-master):
Line 25: Line 76:
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.
Line 28: Line 78:
#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)
   sudo -u debwww pstree -p debwww
Line 33: Line 81:
2.2. Run a partial rebuild of the website: and stop it with
Line 36: Line 84:
   ssh -tt wolkenstein.debian.org sudo -u debwww /srv/www.debian.org/update-part News    sudo -u debwww kill PID
Line 39: Line 87:
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!)

2.3. Now return to your local environment, to your clone of the webwml repo. The files {{{english/releases/}}}''codename''/{{{errata.wml}}} and {{{english/template/debian/release_info.wml}}} need to be updated with the version number of the point release. In some cases, we also need to update {{{english/releases/}}}''codename''/{{{index.wml}}} and {{{english/releases/}}}''codename''/{{{release.data}}} (see below for the details).

 * 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 several tags to be updated: current_release_''codename'' , current_release_date_''codename'' , current_release_newsurl_''codename'' and current-cd-release; you can commit and push the changes to the repo, but any push to mirrors of the built files should wait until the the CD images are ready (that's why we stopped the cron jobs and the running jobs in www-master).

 * In the case of stable releases or final point release for an oldstable release, {{{english/releases/}}}''codename''/{{{index.wml}}} needs to be updated too.

 * In the case of oldstable releases, or the first publication of a stable release (i.e., a release becoming oldstable), {{{english/releases/}}}''codename_oldstable''/{{{release.data}}} needs to be updated too, adding or updating these tags:
{{{
<define-tag jessie-images-url>https://cdimage.debian.org/cdimage/archive/8.11.0</define-tag>
<define-tag jessie-cd-release-filename>8.11.0</define-tag>
}}}

 * In the case of stable and oldstable point release, you have to update the tags and wml files corresponding to both releases.

Commit the changes (in your local copy, no in www-master.debian.org)

2.4. In www-master.debian.org, build the relevant parts of the website, using the script:
Line 43: Line 109:
./scripts/DPNhtml2mail.pl -t news -i $year/$date sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part CD
Line 46: Line 112:
2.4. Send the mail to debian-announce@lists.debian.org. (Repeat the command changing CD for each one of the folders that use the release_info tags. At least: CD, distrib, ports, releases).
This step usually takes more than 10 minutes. Each folder takes some minutes to update.
Line 48: Line 115:
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.

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.
We will update the 3 tags, and 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:
2.5. Build the homepage and files in the main folder with:
Line 62: Line 118:
sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part-pabs CD sudo -u debwww NOSUBDIRS=1 NOMIRROR=1 /srv/www.debian.org/update-part index
Line 65: Line 121:
(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). This step should take some minutes, not much.
Line 67: Line 123:
3.4. Build the homepage and files in the main folder with: 2.6. If the images are not ready yet, you can build the other folders of the website with the same command of step 3.3. Don't build the "security" folder because that one takes too long. "Bugs" and "events" are also folders that take a while to build).
Line 69: Line 125:
{{{
sudo -u debwww NOSUBDIRS=1 NOMIRROR=1 /srv/www.debian.org/update-part-pabs index
}}}
2.7. You can review the output of all the website builds in /srv/www.debian.org/www (or via web in https://www-staging.debian.org ).
Line 73: Line 127:
3.5. You can review the output of all the website builds in /srv/www.d.o/www 3. Once the installation images are ready, you can repeat step 1.2 (update-part News, or update-parts News/YYYY (e.g. News/2022) for a shorter build) so the last translations of the announcement get published, and the folders that we built in the step 3 are pushed to mirrors (and the website looks updated and with links to the updated images).
Line 75: Line 129:
4. Once the installation images are ready, trigger to mirrors so the updated website gets published: This step may take more than 15 minutes.
Line 77: Line 131:
{{{
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:
4. And finally, undo the changes in crontab so the next website build runs as usual:
Line 89: Line 139:
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). 5. 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).
Line 91: Line 141:
7. Remove the announcement from the [[https://anonscm.debian.org/cgit/publicity/announcements.git|publicity announcements git repository]] once it has been published. 6. Remove the announcement from the [[https://salsa.debian.org/publicity-team/announcements|publicity announcements git repository]] once it has been published.

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. 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 debian-publicity@lists.debian.org (adding in CC debian-l10n-english@lists.debian.org and debian-i18n@lists.debian.org) asking for reviews and translations, so check the folders of other languages (or commit log of the repository).

1.1. Commit the announcement files to the website repo:

1.1.1. You need to add it to the webwml git repository at webwml/english/News/$year with the namescheme YYYYMMDD.wml. Add and commit the English version first. Then, take note of the hash of the commit of the English file (you can do "git log english/News/$year/YYYYMMDD.wml" and copy the hash of the most recent commit).

1.1.2. Then copy the translations to their corresponding folders (adding Makefiles if needed), and then edit them to add the hash in the "translation-check" header.

For example, let's say that the French translation file has a first line like this:

#use wml::debian::translation-check translation="      " maintainer="Jean-Pierre Giraud"

Then you have to paste the hash so it looks like something like this:

#use wml::debian::translation-check translation="0788aa9ab387393e2e9236d36df0630ae1c038c6" maintainer="Jean-Pierre Giraud"

Save the files, and then add and commit the translations (and makefiles if any) You can add and commit all the files at the same time.

1.1.3. Edit the /english/homepagenews.data file to add the YYYYMMDD of the announcement on top, and remove an old news (usually the announcement of the former release point, so we don't have for example 10.9 and 10.8 on the homepage). Important: Remove any extra blank lines at the end of the file, to avoid the build producing the line "No news items for this year" after the list of news. Commit the changes.

1.2. Publish the announcement. Run a partial rebuild of the website. We'll do it in two steps:

Rebuild the News folder:

   ssh -tt www-master.debian.org sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part News

Now update the homepage (and RSS), and push to mirrors:

   ssh -tt www-master.debian.org sudo -u debwww NOSUBDIRS=1 /srv/www.debian.org/update-part index

1.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

1.4. Send the mail to debian-announce@lists.debian.org.

1.5. Follow the instructions in https://micronews.debian.org/pages/contribute.html to send a microblogging that will be published in micronews.debian.org and mirrored in the @debian profile in different social networks.

2. 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.

2.1. 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 would need to stop the cron jobs that build the website automatically, and thus update and build ourselves, and push to mirrors, as it is needed.

Open an ssh session in www-master.debian.org

   ssh www-master.debian.org

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

2.2. We need to stop any job of website build that is running to avoid automatic push to mirrors. You can see the processes by typing (in www-master):

   sudo -u debwww pstree -p debwww

and stop it with

   sudo -u debwww kill PID

2.3. Now return to your local environment, to your clone of the webwml repo. The files english/releases/codename/errata.wml and english/template/debian/release_info.wml need to be updated with the version number of the point release. In some cases, we also need to update english/releases/codename/index.wml and english/releases/codename/release.data (see below for the details).

  • 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 several tags to be updated: current_release_codename , current_release_date_codename , current_release_newsurl_codename and current-cd-release; you can commit and push the changes to the repo, but any push to mirrors of the built files should wait until the the CD images are ready (that's why we stopped the cron jobs and the running jobs in www-master).

  • In the case of stable releases or final point release for an oldstable release, english/releases/codename/index.wml needs to be updated too.

  • In the case of oldstable releases, or the first publication of a stable release (i.e., a release becoming oldstable), english/releases/codename_oldstable/release.data needs to be updated too, adding or updating these tags:

<define-tag jessie-images-url>https://cdimage.debian.org/cdimage/archive/8.11.0</define-tag>
<define-tag jessie-cd-release-filename>8.11.0</define-tag>
  • In the case of stable and oldstable point release, you have to update the tags and wml files corresponding to both releases.

Commit the changes (in your local copy, no in www-master.debian.org)

2.4. In www-master.debian.org, build the relevant parts of the website, using the script:

sudo -u debwww NOMIRROR=1 /srv/www.debian.org/update-part CD

(Repeat the command changing CD for each one of the folders that use the release_info tags. At least: CD, distrib, ports, releases). This step usually takes more than 10 minutes. Each folder takes some minutes to update.

2.5. Build the homepage and files in the main folder with:

sudo -u debwww NOSUBDIRS=1 NOMIRROR=1 /srv/www.debian.org/update-part index

This step should take some minutes, not much.

2.6. If the images are not ready yet, you can build the other folders of the website with the same command of step 3.3. Don't build the "security" folder because that one takes too long. "Bugs" and "events" are also folders that take a while to build).

2.7. You can review the output of all the website builds in /srv/www.debian.org/www (or via web in https://www-staging.debian.org ).

3. Once the installation images are ready, you can repeat step 1.2 (update-part News, or update-parts News/YYYY (e.g. News/2022) for a shorter build) so the last translations of the announcement get published, and the folders that we built in the step 3 are pushed to mirrors (and the website looks updated and with links to the updated images).

This step may take more than 15 minutes.

4. 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)

5. 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).

6. Remove the announcement from the publicity announcements git repository once it has been published.

8. Finally, update the debian-timeline with this event.