Bug 20414.1: Strings for 2016 Tor Browser donation banner
[torbutton.git] / README.RELEASE
blob423658320a6b360dc163ba75e6b5db728ca74d1e
1 #             Magical Torbutton Release Process Incantations
3 #   "May this part of my job one day be replaced by a small shell script"
6 #. Decide the version number.
8    export VERSION="1.5.2"
9    vim ./src/install.rdf # edit <em:version> tag to reflect version
11 #. Test upgrades of candidate XPI in latest Firefox and TBB product matrix
13    # TODO: Currently manual
15 #. Generate changelog from git shortlog
17    # TODO: Currently manual
19 #. tx noise: https://svn.torproject.org/svn/translation/trunk/documentation/howto.txt
21    cd torbutton.git/trans_tools/po
22    torsocks svn up
23    torsocks tx pull -a
24    cd ..
25    ./validate_all.sh | less
27    torsocks ./new_tb_strings.sh
29    ./mkmoz.sh
30    ./mvmoz.sh
31    cd ..
32    git diff .
33    git commit .
35 #. Tag the release:
37    git tag -u mikeperry@fscked.org -s ${VERSION}
38    torsocks git push origin-push --tags
40 #. Create the .xpi
42    cd /tmp/
43    torsocks git clone git://git.torproject.org/git/torbutton.git torbutton-release
44    cd torbutton-release
45    git tag -v ${VERSION}   # verify signature against git protocol haaAAXXXX
46    git checkout -b tag-${VERSION} ${VERSION}
47    mkdir ./pkg
48    sh makexpi.sh
50 #. SHA1 + Sign the .xpi
52    gpg -abs ./pkg/torbutton-${VERSION}.xpi
53    sha1sum ./pkg/torbutton-${VERSION}.xpi
55 #. Upload .xpi to website
57    chmod 664 ./pkg/torbutton-${VERSION}.xpi*
58    torsocks scp ./pkg/torbutton-${VERSION}.xpi* vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/
59    torsocks scp ./pkg/torbutton-${VERSION}.xpi vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/torbutton-current.xpi
60    torsocks scp ./pkg/torbutton-${VERSION}.xpi.asc vescum:/srv/www-master.torproject.org/htdocs/dist/torbutton/torbutton-current.xpi.asc
62 #. Update update-unsigned.rdf in torbutton.git with package sha1
64    cd torbutton.git
65    vim update-unsigned.rdf   # Add <li> and <description> w/ sha1 and version
67 #. Sign the new update-unsigned.rdf.
69    # Key creation based on these instructions:
70    # Command line: http://blog.techno-barje.fr/post/2009/10/08/How-to-setup-a-mozilla-extension-update-server/
71    # Gui: https://www.binaryturf.com/steps-release-extension-firefox-3/
73    # TODO: Process currently manual due to offline signing.
74    # No need to fear the reaper, man. We can do online signing if we just put
75    # our minds to it: https://trac.torproject.org/projects/tor/ticket/6011
77    # Special note: I was unable to update an already signed
78    # copy of the update.rdf for a new release. We probably need to 
79    # keep the unsigned version around as input? See the root directory 
80    # of the torbutton.git for a copy.
81    ./mccoy-cli.x86/mccoy -profile ./.mozilla/mccoy/*.default/ -signRDF update-unsigned.rdf -key Torbutton
83    # Copy the signed update.rdf into place in the website svn
85 #. Update update.rdf
87    cd website-svn
88    vim ./include/versions.wmi   # Add sha1 and version
89    cp /mnt/update-signed.rdf ./torbutton/update.rdf
91 #. Update website
93    torsocks svn up .
94    torsocks svn commit .
96    torsocks ssh vescum "/home/mirroradm/bin/trigger-mirrors"
98 #. Test firefox autoupdate
100    # Wait for mirrors to sync first.. Pester phobos/weasel/helix/Sebastian for
101    # website push + dist chown + mirror update.
102    # TODO: Currently manual
104 #. Announce on tor-talk
106    # FIXME: May need eventual minor improvements
107    echo "Troll food." | mail tor-talk@lists.torproject.org -s "Feed the trolls"