Files
i2p.i2p/installer/resources/checklist.txt
2015-11-01 00:45:30 +00:00

134 lines
4.0 KiB
Plaintext

Release checklist
-----------------
One week before:
Make announcement on Transifex with checkin deadline
A day or two before:
Write the release announcement and push to Transifex:
Checkout i2p.newsxml branch
See README for setup
./create_new_entry.sh
tx push -s
mtn ci
Make announcement on Transifex asking for news translation
Ensure all translation updates are imported from Transifex
Sync with mtn.i2p2.i2p
Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p /path/to/releasedir
You may build with Java 7 or higher, but ensure you have the Java 6 JRE installed for the bootclasspath
Create override.properties with (adjust as necessary):
-----------
release.privkey=/path/to/private-signing.key
release.privkey.su3=/path/to/su3keystore.ks
release.gpg.keyid=0xnnnnnnnn
release.signer.su3=xxx@mail.i2p
build.built-by=xxx
javac.compilerargs=-bootclasspath /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar
-----------
Copy latest trust list _MTN/monotonerc from website or some other workspace
Change revision in:
history.txt
installer/install.xml
core/java/src/net/i2p/CoreVersion.java
router/java/src/net/i2p/router/RouterVersion.java
(change to BUILD = 0 and EXTRA = "")
mtn ci
Review the complete diff from the last release:
mtn diff -r t:i2p-0.9.(xx-1) > out.diff
vi out.diff
Verify that no untrusted revisions were inadvertently
blessed by a trusted party:
mtn log --brief --no-graph --to t:i2p-0.9.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c
=========================================
NOTE: These tasks are now automated by 'ant release'
Build and tag:
ant pkg
Create signed update files with:
export I2P=~/i2p
java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx
Verify signed update files with:
java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud
java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud
Make the source tarball:
Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx
Double-check trust list
tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx
mv i2p-0.x.xx.tar.bz2 i2p.i2p
Rename some files:
mv i2pinstall.exe i2pinstall-0.x.xx.exe
mv i2pupdate.zip i2pupdate-0.x.xx.zip
Generate hashes:
sha256sum i2p*0.x.xx.*
sha256sum i2pupdate.sud
sha256sum i2pupdate.su2
Generate PGP signatures:
gpg -b i2pinstall-0.x xx.exe
gpg -b i2psource-0.x.xx.tar.bz2
gpg -b i2pupdate-0.x.xx.zip
gpg -b i2pupdate.sud
gpg -b i2pupdate.su2
(end of tasks automated by 'ant release')
=========================================
Now test.
If all goes well:
mtn tag h: i2p-0.x.xx
mtn cert t:i2p-0.x.xx branch i2p.i2p.release
mtn sync (with e.g. mtn.killyourtv.i2p)
Add magnet links, change release dates and release number in to old-format news.xml,
and distribute to news hosts
In the i2p.newsxml branch, edit magnet links, release dates and release number in data/releases.json, and check in
Add update torrents to tracker2.postman.i2p and start seeding (su2 and su3)
Notify the following people:
All in-network update hosts
PPA maintainer
news.xml maintainer
backup news.xml maintainer
website files maintainer
Update Trac:
Add milestone and version dates
Increment milestone and version defaults
Wait for website files to be updated
Website files to change:
Sync with mtn.i2p-projekt.i2p
hosts.txt if it changed (copy from i2p.i2p mtn branch)
i2p2www/__init__.py (release number)
i2p2www/pages/downloads/list.html (checksums)
i2p2www/static/news/news.xml
New release announcement - see i2p2www/blog/README for instructions
Sync with mtn.i2p-projekt.i2p
Wait for a few update hosts to be ready
Tell news hosts to flip the switch
Wait for debian packages to be ready
Announce on:
#i2p, #i2p-dev (also on freenode side)
forum.i2p
twitter