1 | Release checklist |
---|
2 | ----------------- |
---|
3 | |
---|
4 | Ensure all translation updates are imported from Transifex |
---|
5 | Sync with mtn.i2p2.i2p |
---|
6 | Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p |
---|
7 | Copy over override.properties to set build.built-by |
---|
8 | Double-check trust list |
---|
9 | |
---|
10 | Change revision in: |
---|
11 | history.txt |
---|
12 | installer/install.xml |
---|
13 | core/java/src/net/i2p/CoreVersion.java |
---|
14 | router/java/src/net/i2p/router/RouterVersion.java |
---|
15 | (change to BUILD = 0 and EXTRA = "") |
---|
16 | |
---|
17 | Review the complete diff from the last release: |
---|
18 | mtn diff -r t:i2p-0.9.(xx-1) > out.diff |
---|
19 | vi out.diff |
---|
20 | |
---|
21 | Verify that no untrusted revisions were inadvertently |
---|
22 | blessed by a trusted party: |
---|
23 | mtn log --brief --no-graph --to t:i2p-0.9.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c |
---|
24 | |
---|
25 | ========================================= |
---|
26 | NOTE: These tasks are now automated by 'ant release' |
---|
27 | |
---|
28 | Build and tag: |
---|
29 | ant pkg |
---|
30 | mtn ci |
---|
31 | mtn tag h: i2p-0.x.xx |
---|
32 | mtn cert t:i2p-0.x.xx branch i2p.i2p.release |
---|
33 | Sync with mtn.i2p2.i2p |
---|
34 | |
---|
35 | Create signed update files with: |
---|
36 | export I2P=~/i2p |
---|
37 | java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx |
---|
38 | java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx |
---|
39 | |
---|
40 | Verify signed update files with: |
---|
41 | java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud |
---|
42 | java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud |
---|
43 | |
---|
44 | Make the source tarball: |
---|
45 | Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx |
---|
46 | Double-check trust list |
---|
47 | tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx |
---|
48 | mv i2p-0.x.xx.tar.bz2 i2p.i2p |
---|
49 | |
---|
50 | Rename some files: |
---|
51 | mv i2pinstall.exe i2pinstall-0.x.xx.exe |
---|
52 | mv i2pupdate.zip i2pupdate-0.x.xx.zip |
---|
53 | |
---|
54 | Generate hashes: |
---|
55 | sha256sum i2p*0.x.xx.* |
---|
56 | sha256sum i2pupdate.sud |
---|
57 | sha256sum i2pupdate.su2 |
---|
58 | |
---|
59 | Generate PGP signatures: |
---|
60 | gpg -b i2pinstall-0.x xx.exe |
---|
61 | gpg -b i2psource-0.x.xx.tar.bz2 |
---|
62 | gpg -b i2pupdate-0.x.xx.zip |
---|
63 | gpg -b i2pupdate.sud |
---|
64 | gpg -b i2pupdate.su2 |
---|
65 | |
---|
66 | (end of tasks automated by 'ant release') |
---|
67 | ========================================= |
---|
68 | |
---|
69 | Add magnet links to news.xml |
---|
70 | |
---|
71 | Seed update torrents |
---|
72 | |
---|
73 | Notify the following people: |
---|
74 | All in-network update hosts |
---|
75 | PPA maintainer |
---|
76 | news.xml maintainer |
---|
77 | backup news.xml maintainer |
---|
78 | |
---|
79 | Website files to change: |
---|
80 | Sync with mtn.i2p-projekt.i2p |
---|
81 | hosts.txt if it changed (copy from i2p.i2p mtn branch) |
---|
82 | i2p2www/__init__.py (release number) |
---|
83 | i2p2www/pages/downloads/list.html (checksums) |
---|
84 | i2p2www/static/news/news.xml |
---|
85 | New release announcement - see i2p2www/blog/README for instructions |
---|
86 | Sync with mtn.i2p-projekt.i2p |
---|
87 | |
---|
88 | Announce on: |
---|
89 | #i2p, #i2p-dev (also on freenode side) |
---|
90 | forum.i2p |
---|
91 | twitter |
---|
92 | freshmeat.net |
---|
93 | launchpad.net |
---|
94 | alt.privacy.anon-server |
---|
95 | |
---|
96 | Update Trac: |
---|
97 | Add milestone and version dates |
---|
98 | Increment milestone and version defaults |
---|