neobytes/doc/release-process.txt

109 lines
3.9 KiB
Plaintext

* update (commit) version in sources
src/serialize.h
share/setup.nsi
* update (commit) version in OSX app bundle
contrib/Bitcoin.app/Contents/Info.plist
* CFBundleShortVersionString should have value like 0.3.23
* CFBundleVersion should have value like 323
* tag version in git
$ git tag -a v0.3.23
* write release notes. git shortlog helps a lot:
$ git shortlog --no-merges v0.3.22..
* create source-only archive
$ git archive --format=tar --prefix=bitcoin-0.3.23/ HEAD | \
gzip -9c > ~/tmp/bitcoin-0.3.23-src.tar.gz
* perform gitian builds
* From a directory containing the bitcoin source, gitian-builder and gitian.sigs
$ export VERSION=0.3.23
$ cd ./gitian-builder
$ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml
$ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
$ cd build/out
$ zip bitcoin-$VERSION-linux-gitian.zip *
$ mv bitcoin-$VERSION-linux-gitian.zip ../../
$ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
$ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
$ cd build/out
$ zip bitcoin-$VERSION-win32-gitian.zip *
$ mv bitcoin-$VERSION-win32-gitian.zip ../../
Build output expected:
1. linux 32-bit and 64-bit binaries + source (bitcoin-$VERSION-linux-gitian.zip)
2. windows 32-bit binary, installer + source (bitcoin-$VERSION-win32-gitian.zip)
3. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
* repackage gitian builds for release as stand-alone zip/tar/installer exe
* Windows .zip and setup.exe:
$ mkdir bitcoin-$VERSION-win32
$ cd bitcoin-$VERSION-win32
$ unzip bitcoin-$VERSION-win32-gitian.zip
$ mv bitcoin-$VERSION-win32-setup.exe ..
$ cd ..; zip bitcoin-$VERSION-win32.zip bitcoin-$VERSION-win32
* Linux .tar.gz:
$ mkdir bitcoin-$VERSION-linux
$ cd bitcoin-$VERSION-linux
$ unzip bitcoin-$VERSION-linux-gitian.zip
$ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux
* perform Mac build
* From the bitcoin source dir
$ cd contrib
$ ./create_osx_dmg.sh
$ mv Bitcoin.dmg bitcoin-$VERSION-macosx.dmg
* upload source and builds to SF
* create SHA1SUMS for builds, and PGP-sign it
* update bitcoin.org version
* update forum version
* update wiki
* update wiki download links
* release gitian-signed gitian archives
* Collect enough gitian signatures to meet minimum_weight (see contrib/gitian-downloader/*-download-config)
* From a directory containing bitcoin source, gitian.sigs and gitian zips
$ export VERSION=0.3.23
$ mkdir bitcoin-$VERSION-win32-gitian; cd bitcoin-$VERSION-win32-gitian
$ unzip ../bitcoin-$VERSION-win32-gitian.zip
$ mkdir gitian
$ cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
$ for file in `ls ../gitian.sigs/$VERSION-win32/`; do
$ cp ../gitian.sigs/$VERSION-win32/$file/bitcoin-build.assert ./gitian/$file-build.assert
$ cp ../gitian.sigs/$VERSION-win32/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig
$ done
$ zip bitcoin-$VERSION-win32-gitian.zip *
$ cp bitcoin-$VERSION-win32-gitian.zip ../
$ cd ..
$ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian
$ unzip ../bitcoin-$VERSION-linux-gitian.zip
$ mkdir gitian
$ cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
$ for file in `ls ../gitian.sigs/$VERSION/`; do
$ cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert ./gitian/$file-build.assert
$ cp ../gitian.sigs/$VERSION/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig
$ done
$ zip bitcoin-$VERSION-linux-gitian.zip *
$ cp bitcoin-$VERSION-linux-gitian.zip ../
* Upload gitian zips to SF