forked from I2P_Developers/i2p.i2p
100 lines
2.8 KiB
Plaintext
100 lines
2.8 KiB
Plaintext
Release checklist
|
|
-----------------
|
|
|
|
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
|
|
Double-check trust list
|
|
Deploy the Jetty archive, a clean checkout lacks it
|
|
|
|
Change revision in:
|
|
history.txt
|
|
installer/install.xml
|
|
installer/resources/news.xml
|
|
core/java/src/net/i2p/CoreVersion.java
|
|
router/java/src/net/i2p/router/RouterVersion.java
|
|
(change to BUILD = 0 and EXTRA = "")
|
|
|
|
Review the complete diff from the last release:
|
|
mtn diff -r t:i2p-0.x.(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.8.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c
|
|
|
|
=========================================
|
|
NOTE: These tasks are now automated by 'ant release'
|
|
|
|
Build and tag:
|
|
ant pkg
|
|
mtn ci
|
|
mtn tag h: i2p-0.x.xx
|
|
mtn cert t:i2p-0.x.xx branch i2p.i2p.release
|
|
Sync with mtn.i2p2.i2p
|
|
|
|
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')
|
|
=========================================
|
|
|
|
|
|
Notify the following people:
|
|
All in-network update hosts
|
|
PPA maintainer
|
|
Google code maintainer
|
|
news.xml maintainer
|
|
|
|
Website files to change:
|
|
Sync with mtn.i2p2.i2p
|
|
announcements.html
|
|
announcements_*.html
|
|
download.html (change version numbers and SHA256s)
|
|
download_*.html (change version numbers and SHA256s)
|
|
index.html
|
|
index_*.html
|
|
hosts.txt if it changed (copy from i2p.i2p mtn branch)
|
|
release-x.y.z.html (new)
|
|
Sync with mtn.i2p2.i2p
|
|
|
|
Announce on:
|
|
#i2p, #i2p-dev (also on freenode side)
|
|
forum.i2p
|
|
twitter
|
|
freshmeat.net
|
|
launchpad.net
|
|
alt.privacy.anon-server
|
|
|
|
Update Trac:
|
|
Add milestone and version dates
|
|
Increment milestone and version defaults
|