]> Git Repo - VerusCoin.git/blame - doc/release-process.md
depends: fix packages with hard-coded SOURCES_PATH
[VerusCoin.git] / doc / release-process.md
CommitLineData
2341e9b5 1Release Process
2====================
3
4* update translations (ping wumpus, Diapolo or tcatm on IRC)
5* see https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#syncing-with-transifex
6
7* * *
8
9###update (commit) version in sources
10
2341e9b5 11 contrib/verifysfbinaries/verify.sh
12 doc/README*
13 share/setup.nsi
14 src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true)
15
16###tag version in git
17
cc75306c 18 git tag -s v(new version, e.g. 0.8.0)
2341e9b5 19
20###write release notes. git shortlog helps a lot, for example:
21
bb70bbfc 22 git shortlog --no-merges v(current version, e.g. 0.7.2)..v(new version, e.g. 0.8.0)
2341e9b5 23
24* * *
25
4bbbdf32
CF
26###update gitian
27
28 In order to take advantage of the new caching features in gitian, be sure to update to a recent version (e9741525c or higher is recommended)
29
9d5ad718 30###perform gitian builds
2341e9b5 31
32 From a directory containing the bitcoin source, gitian-builder and gitian.sigs
33
34 export SIGNER=(your gitian key, ie bluematt, sipa, etc)
bb70bbfc 35 export VERSION=(new version, e.g. 0.8.0)
7048443e
M
36 pushd ./bitcoin
37 git checkout v${VERSION}
38 popd
e9bfe657 39 pushd ./gitian-builder
1a97b22b 40
9d5ad718 41###fetch and build inputs: (first time, or when dependency versions change)
1a97b22b 42
462ad223 43 mkdir -p inputs; cd inputs/
2341e9b5 44
462ad223
M
45 Register and download the Apple SDK: (see OSX Readme for details)
46
47 https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_4.6.3/xcode4630916281a.dmg
48
49 Using a Mac, create a tarball for the 10.7 SDK and copy it to the inputs directory:
50
51 tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.7.sdk.tar.gz MacOSX10.7.sdk
2341e9b5 52
462ad223 53 Build Bitcoin Core for Linux, Windows, and OS X:
2341e9b5 54
f4e72bf8 55 ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
462ad223 56 ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
dfef929b 57 mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
f622232b
WL
58 ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
59 ./bin/gsign --signer $SIGNER --release ${VERSION}-win --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
dfef929b
CF
60 mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../
61 ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
7a9cf80b
CF
62 ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
63 mv build/out/bitcoin-*-unsigned.tar.gz inputs
dfef929b 64 mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../
2341e9b5 65 popd
7a9cf80b 66bitcoin-0.9.99-osx-unsigned.tar.gz
2341e9b5 67 Build output expected:
68
dfef929b
CF
69 1. source tarball (bitcoin-${VERSION}.tar.gz)
70 2. linux 32-bit and 64-bit binaries dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
71 3. windows 32-bit and 64-bit installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup.exe, bitcoin-${VERSION}-win[32|64].zip)
7a9cf80b
CF
72 4. OSX unsigned installer (bitcoin-${VERSION}-osx-unsigned.dmg)
73 5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|win|osx-unsigned>/(your gitian key)/
0dcb0a55 74
2341e9b5 75###Next steps:
76
2341e9b5 77Commit your signature to gitian.sigs:
78
79 pushd gitian.sigs
462ad223 80 git add ${VERSION}-linux/${SIGNER}
f622232b 81 git add ${VERSION}-win/${SIGNER}
7a9cf80b
CF
82 git add ${VERSION}-osx-unsigned/${SIGNER}
83 git commit -a
84 git push # Assuming you can push to the gitian.sigs tree
85 popd
86
87Wait for OSX detached signature:
88 Once the OSX build has 3 matching signatures, Gavin will sign it with the apple App-Store key.
89 He will then upload a detached signature to be combined with the unsigned app to create a signed binary.
90
91Create the signed OSX binary:
92 pushd ./gitian-builder
93 # Fetch the signature as instructed by Gavin
94 cp signature.tar.gz inputs/
95 ./bin/gbuild -i ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
96 ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
97 mv build/out/bitcoin-${VERSION}-osx.dmg ../
98 popd
99
100Commit your signature for the signed OSX binary:
101
102 pushd gitian.sigs
103 git add ${VERSION}-osx-signed/${SIGNER}
2341e9b5 104 git commit -a
105 git push # Assuming you can push to the gitian.sigs tree
106 popd
107
108-------------------------------------------------------------------------
109
e1eb741e 110### After 3 or more people have gitian-built and their results match:
2341e9b5 111
e1eb741e 112- Perform code-signing.
4f99b160 113
e1eb741e
WL
114 - Code-sign Windows -setup.exe (in a Windows virtual machine using signtool)
115
e1eb741e 116 Note: only Gavin has the code-signing keys currently.
4f99b160 117
a38eaea0
WL
118- Create `SHA256SUMS.asc` for the builds, and GPG-sign it:
119```bash
120sha256sum * > SHA256SUMS
28fb5f38 121gpg --digest-algo sha256 --clearsign SHA256SUMS # outputs SHA256SUMS.asc
a38eaea0 122rm SHA256SUMS
e1eb741e 123```
28fb5f38 124(the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files)
e1eb741e
WL
125
126- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the bitcoin.org server
127
128- Update bitcoin.org version
129
130 - Make a pull request to add a file named `YYYY-MM-DD-vX.Y.Z.md` with the release notes
131 to https://github.com/bitcoin/bitcoin.org/tree/master/_releases
132 ([Example for 0.9.2.1](https://raw.githubusercontent.com/bitcoin/bitcoin.org/master/_releases/2014-06-19-v0.9.2.1.md)).
133
134 - After the pull request is merged, the website will automatically show the newest version, as well
135 as update the OS download links. Ping Saivann in case anything goes wrong
136
137- Announce the release:
4f99b160
WL
138
139 - Release sticky on bitcointalk: https://bitcointalk.org/index.php?board=1.0
140
141 - Bitcoin-development mailing list
142
e1eb741e
WL
143 - Update title of #bitcoin on Freenode IRC
144
145 - Optionally reddit /r/Bitcoin, ... but this will usually sort out itself
146
147- Notify BlueMatt so that he can start building [https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin](the PPAs)
148
149- Add release notes for the new version to the directory `doc/release-notes` in git master
4f99b160 150
bb70bbfc 151- Celebrate
This page took 0.101827 seconds and 4 git commands to generate.