Workflow for the Publicity/Press announcement

This page describe the current workflow and best practices for the creation and release of announcements.

For stable/point releases, there is a new workflow: go to Teams/Publicity/ReleasePointAnnouncements and follow the instructions there. We keep here the old procedure for announcements not related to stable or point releases.

1a. Start to write the draft using the template provided in the publicity announcements git repository under en/template.wml: it contains all the necessary wml tags

1b. For announcements that need to be embargoed for some reason. For example, they contain information that need to be acked for a third party external to Debian: obituaries, sensitive topics, etc. A DD-only accessible repository hosted in master is used. DDs can clone it with git clone

2. add your draft to the repository (all DDs have rw access to it) in en/$year/ with this namescheme: YYYYMMDD-$title.wml (where YYYY-MM-DD is the expected release date, if you've not decided it yet, just add the file under en/drafts/ with a simple title as name).

3. at least 2 days before the expected release date, send a mail to (adding in CC and asking for reviews and translations

4. Press and/or webmasters only! on $expected-release-date publish the announcement in the website: you just need to add it to the webwml git repository at webwml/english/News/$year with the namescheme YYYYMMDD.wml). Take care also of all the available translations (usually are just french, spanish and german) 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)

You need to commit the English version of the announcement, then update the translation-check headers of translations and commit them, and then update the /english/ file to add the YYYYMMDD of the announcement on top, and remove an old news, and commit it. Please refer to and for detailed instructions.

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

Rebuild the News folder:

   ssh -tt sudo -u debwww /srv/ News

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

   ssh -tt sudo -u debwww NOSUBDIRS=1 /srv/ index

6. Now you're ready for creating the mail: the script to create it is the publicity dpn repo under scripts/ 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/ -t news -i $year/$date

7. yay! you can finally send the mail to or plus other relevant recipients/lists, if needed (e.g. debian-lts-announce or debconf list). For some lists (e.g. debian-announce@ only the publicity delegates have permission). As a reminder, -news should be the default place to send things. -announce is reserved for special announcements, such as new point releases etc.

8. Follow the instructions in to send a microblogging that will be mirrored in and other social networks.

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

10. Finally, you might want to update the debian-timeline if this event is noteworthy.