source: installer/resources/checklist.txt @ bb8e6127

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

Add test plan to release checklist

  • Property mode set to 100644
File size: 5.4 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
16        Checkout i2p.www branch
17        Write draft release announcement - see i2p2www/blog/README for instructions
18                Top content should be the same as the news entry
19        Push blog strings (including draft announcement) to Transifex
20
21        Make announcement on Transifex asking for news translation
22
23
24Ensure all translation updates are imported from Transifex
25Sync with mtn.i2p2.i2p
26Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p /path/to/releasedir
27You may build with Java 7 or higher, but ensure you have the Java 6 JRE installed for the bootclasspath
28
29Create override.properties with (adjust as necessary):
30-----------
31release.privkey.su3=/path/to/su3keystore.ks
32release.gpg.keyid=0xnnnnnnnn
33release.signer.su3=xxx@mail.i2p
34build.built-by=xxx
35javac.compilerargs=-bootclasspath /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/jce.jar
36-----------
37
38Copy latest trust list _MTN/monotonerc from website or some other workspace
39
40Change revision in:
41        history.txt
42        installer/install.xml
43        core/java/src/net/i2p/CoreVersion.java
44        router/java/src/net/i2p/router/RouterVersion.java
45                (change to BUILD = 0 and EXTRA = "")
46
47mtn ci
48
49Review the complete diff from the last release:
50        mtn diff -r t:i2p-0.9.(xx-1) > out.diff
51        vi out.diff
52
53Verify that no untrusted revisions were inadvertently
54blessed by a trusted party:
55        mtn log --brief --no-graph --to t:i2p-0.9.(xx-1) | cut -d ' ' -f 2 | sort | uniq -c
56
57=========================================
58NOTE: These tasks are now automated by 'ant release'
59
60Build and tag:
61        ant pkg
62
63Create signed update files with:
64        export I2P=~/i2p
65        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate.zip i2pupdate.sud /path/to/private.key 0.x.xx
66        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate sign i2pupdate200.zip i2pupdate.su2 /path/to/private.key 0.x.xx
67
68Verify signed update files with:
69        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate showversion i2pupdate.sud
70        java -cp $I2P/lib/i2p.jar net.i2p.crypto.TrustedUpdate verifysig i2pupdate.sud
71
72Make the source tarball:
73        Start with a clean checkout mtn -d i2p.mtn co --branch=i2p.i2p i2p-0.x.xx
74        Double-check trust list
75        tar cjf i2psource-0.x.xx.tar.bz2 --exclude i2p-0.x.xx/_MTN i2p-0.x.xx   
76        mv i2p-0.x.xx.tar.bz2 i2p.i2p
77
78Rename some files:
79        mv i2pinstall.exe i2pinstall-0.x.xx.exe
80        mv i2pupdate.zip i2pupdate-0.x.xx.zip
81
82Generate hashes:
83        sha256sum i2p*0.x.xx.*
84        sha256sum i2pupdate.sud
85        sha256sum i2pupdate.su2
86
87Generate PGP signatures:
88        gpg -b i2pinstall-0.x xx.exe
89        gpg -b i2psource-0.x.xx.tar.bz2
90        gpg -b i2pupdate-0.x.xx.zip
91        gpg -b i2pupdate.sud
92        gpg -b i2pupdate.su2
93
94(end of tasks automated by 'ant release')
95=========================================
96
97Now test:
98- Save the output about checksums, sizes, and torrents to a file (traditionally shasums.txt)
99  (edit timestamps to UTC if you care)
100- Copy all the release files somewhere, make sure you have the same ones as last release
101- Verify sha256sums for release files
102- Check file sizes vs. previous release, shouldn't be smaller
103  (this one will be about 1MB bigger for the updaters due to geoip inclusion)
104- Unzip or list files from i2pupdate.zip, see if it looks right
105- For either windows or linux installer:
106  (probably should do both the first time)
107   - Rename any existing config dir (e.g. mv .i2p .i2p-save)
108   - Run installer, install to temp dir
109   - Look in temp dir, see if all the files are there
110   - Unplug ethernet / turn off wifi so RI doesn't leak
111   - i2prouter start
112   - Verify release number in console
113   - Verify welcome news
114   - Click through all the app, status, eepsite, and config pages, see if they look right
115   - Click through each of the translations, see if /console looks right
116   - Look for errors in /log (other than can't reseed errors)
117   - Look in config dir, see if all the files are there
118   - Shutdown
119   - Delete config dir
120   - Move saved config dir back
121   - Reconnect ethernet / turn wifi back on
122- Load torrents in i2psnark on your production router, verify infohashes
123
124If all goes well:
125        mtn tag h: i2p-0.x.xx
126        mtn cert t:i2p-0.x.xx branch i2p.i2p.release
127        mtn sync (with e.g. mtn.killyourtv.i2p)
128
129Add magnet links, change release dates and release number in to old-format news.xml,
130and distribute to news hosts
131In the i2p.newsxml branch, edit magnet links, release dates and release number in data/releases.json, and check in
132
133Add update torrents to tracker2.postman.i2p and start seeding (su2 and su3)
134
135Notify the following people:
136        All in-network update hosts
137        PPA maintainer
138        news.xml maintainer
139        backup news.xml maintainer
140        website files maintainer
141
142Update Trac:
143        Add milestone and version dates
144        Increment milestone and version defaults
145
146Wait for website files to be updated
147
148Website files to change:
149        Sync with mtn.i2p-projekt.i2p
150        hosts.txt if it changed (copy from i2p.i2p mtn branch)
151        i2p2www/__init__.py (release number)
152        i2p2www/pages/downloads/macros (checksums)
153        i2p2www/static/news/news.xml
154        Sync with mtn.i2p-projekt.i2p
155
156Wait for a few update hosts to be ready
157Tell news hosts to flip the switch
158Wait for debian packages to be ready
159
160Announce on:
161         #i2p, #i2p-dev (also on freenode side)
162         forum.i2p
163         twitter
Note: See TracBrowser for help on using the repository browser.