Update documentation to reflect reality (no win32 gitian builds, new Mac process)
[novacoin.git] / doc / release-process.txt
1 * update (commit) version in sources
2   src/serialize.h
3   share/setup.nsi
4
5 * update (commit) version in OSX app bundle
6  contrib/Bitcoin.app/Contents/Info.plist
7
8   * CFBundleShortVersionString should have value like 0.5.0
9   * CFBundleVersion should have value like 500
10
11 * tag version in git
12
13   $ git tag -a v0.5.0
14
15 * write release notes.  git shortlog helps a lot:
16
17   $ git shortlog --no-merges v0.4.0..
18
19 * create source-only archive
20
21   $ git archive --format=tar --prefix=bitcoin-0.5.0/ HEAD | \
22         gzip -9c > ~/tmp/bitcoin-0.5.0-src.tar.gz 
23
24 * perform gitian builds
25
26   * From a directory containing the bitcoin source, gitian-builder and gitian.sigs
27   $ export VERSION=0.5.0
28   $ cd ./gitian-builder
29   $ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml
30   $ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
31   $ cd build/out
32   $ zip bitcoin-$VERSION-linux-gitian.zip *
33   $ mv bitcoin-$VERSION-linux-gitian.zip ../../
34
35   * NOTE: gitian cross-compiled builds for Windows is broken, we are building
36     Windows binaries using a public Amazon AWS instance for this release.
37
38   Build output expected:
39   1. linux 32-bit and 64-bit binaries + source (bitcoin-$VERSION-linux-gitian.zip)
40   2. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
41
42 * repackage gitian builds for release as stand-alone zip/tar/installer exe
43
44   * Linux .tar.gz:
45   $ mkdir bitcoin-$VERSION-linux
46   $ cd bitcoin-$VERSION-linux
47   $ unzip bitcoin-$VERSION-linux-gitian.zip
48   $ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux
49
50 * Compile Windows .zip and setup.exe on Amazon EC2 instance
51   TODO: document process
52
53 * perform Mac build
54   TODO: document process
55
56 * upload source and builds to SourceForge
57
58 * create SHA1SUMS for builds, and PGP-sign it
59
60 * update bitcoin.org version
61
62 * update forum version
63
64 * update wiki
65
66 * update wiki download links
67
68 * release gitian-signed gitian archives
69
70   * Collect enough gitian signatures to meet minimum_weight (see contrib/gitian-downloader/*-download-config)
71
72   * From a directory containing bitcoin source, gitian.sigs and gitian zips
73   $ export VERSION=0.5.0
74   $ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian
75   $ unzip ../bitcoin-$VERSION-linux-gitian.zip
76   $ mkdir gitian
77   $ cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
78   $ for file in `ls ../gitian.sigs/$VERSION/`; do
79   $   cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert ./gitian/$file-build.assert
80   $   cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig
81   $ done
82   $ zip bitcoin-$VERSION-linux-gitian.zip *
83   $ cp bitcoin-$VERSION-linux-gitian.zip ../
84
85   * Upload gitian zips to SourceForge
86
87