source: installer/resources/checklist.txt @ b7dc55e3

Last change on this file since b7dc55e3 was b7dc55e3, checked in by zzz <zzz@…>, 5 years ago

checklist update

  • Property mode set to 100644
File size: 4.0 KB
Line 
1Release checklist
2-----------------
3
4One week before:
5        Make announcement on Transifex with checkin deadline
6
7
8A day or two before:
9Write the release announcement and push to Transifex:
10        Checkout i2p.newsxml branch
11        See README for setup
12        ./create_new_entry.sh
13        tx push -s
14        mtn ci
15        Make announcement on Transifex asking for news translation
16
17
18Ensure all translation updates are imported from Transifex
19Sync with mtn.i2p2.i2p
20Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p /path/to/releasedir
21You may build with Java 7 or higher, but ensure you have the Java 6 JRE installed for the bootclasspath
22
23Create override.properties with (adjust as necessary):
24-----------
25release.privkey=/path/to/private-signing.key
26release.privkey.su3=/path/to/su3keystore.ks
27release.gpg.keyid=0xnnnnnnnn
28release.signer.su3=xxx@mail.i2p
29build.built-by=xxx
30javac.compilerargs=-bootclasspath /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar
31-----------
32
33Copy latest trust list _MTN/monotonerc from website or some other workspace
34
35Change revision in:
36        history.txt
37        installer/install.xml
38        core/java/src/net/i2p/CoreVersion.java
39        router/java/src/net/i2p/router/RouterVersion.java
40                (change to BUILD = 0 and EXTRA = "")
41
42mtn ci
43
44Review the complete diff from the last release:
45        mtn diff -r t:i2p-0.9.(xx-1) > out.diff
46        vi out.diff
47
48Verify that no untrusted revisions were inadvertently
49blessed by a trusted party:
50        mtn log --brief --no-graph --to t:i2p-0.9.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c
51
52=========================================
53NOTE: These tasks are now automated by 'ant release'
54
55Build and tag:
56        ant pkg
57
58Create signed update files with:
59        export I2P=~/i2p
60        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
61        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx
62
63Verify signed update files with:
64        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud
65        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud
66
67Make the source tarball:
68        Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx
69        Double-check trust list
70        tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx   
71        mv i2p-0.x.xx.tar.bz2 i2p.i2p
72
73Rename some files:
74        mv i2pinstall.exe i2pinstall-0.x.xx.exe
75        mv i2pupdate.zip i2pupdate-0.x.xx.zip
76
77Generate hashes:
78        sha256sum i2p*0.x.xx.*
79        sha256sum i2pupdate.sud
80        sha256sum i2pupdate.su2
81
82Generate PGP signatures:
83        gpg -b i2pinstall-0.x xx.exe
84        gpg -b i2psource-0.x.xx.tar.bz2
85        gpg -b i2pupdate-0.x.xx.zip
86        gpg -b i2pupdate.sud
87        gpg -b i2pupdate.su2
88
89(end of tasks automated by 'ant release')
90=========================================
91
92Now test.
93If all goes well:
94        mtn tag h: i2p-0.x.xx
95        mtn cert t:i2p-0.x.xx branch i2p.i2p.release
96        mtn sync (with e.g. mtn.killyourtv.i2p)
97
98Add magnet links, change release dates and release number in to old-format news.xml,
99and distribute to news hosts
100In the i2p.newsxml branch, edit magnet links, release dates and release number in data/releases.json, and check in
101
102Add update torrents to tracker2.postman.i2p and start seeding (su2 and su3)
103
104Notify the following people:
105        All in-network update hosts
106        PPA maintainer
107        news.xml maintainer
108        backup news.xml maintainer
109        website files maintainer
110
111Update Trac:
112        Add milestone and version dates
113        Increment milestone and version defaults
114
115Wait for website files to be updated
116
117Website files to change:
118        Sync with mtn.i2p-projekt.i2p
119        hosts.txt if it changed (copy from i2p.i2p mtn branch)
120        i2p2www/__init__.py (release number)
121        i2p2www/pages/downloads/list.html (checksums)
122        i2p2www/static/news/news.xml
123        New release announcement - see i2p2www/blog/README for instructions
124        Sync with mtn.i2p-projekt.i2p
125
126Wait for a few update hosts to be ready
127Tell news hosts to flip the switch
128Wait for debian packages to be ready
129
130Announce on:
131         #i2p, #i2p-dev (also on freenode side)
132         forum.i2p
133         twitter
Note: See TracBrowser for help on using the repository browser.