1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
Release scripts for websocketd
==============================
Perform a fully automated repeatable release of websocketd.
This is three-stage process in normal release cycle that's performed by
repository maintainers.
* Update CHANGES and Tag
* Build
* Release
Those that do not have permissions to push tags could still use this build
chain to build their own customized versions or packages.
## Step 1: Update CHANGES and Tag
First edit and commit CHANGES file. List all significant updates between releases.
Annotated tags require for release:
git tag -a vx.x.x
To see currently tagged version run tag with -l option.
## Step 2: Build
release/Makefile contains all required to download pre-verified for build release of Go and cross-compile
websocketd for all platforms that we release for.
cd release
make
Is generally recommended but other build options are available:
* go-compile: build cross-platform golang pakages
* binaries: only create websocketd binaries, do not generate zip distributions
* deb, rpm: only create particular kind of packages
* clean-go: remove build files for go
* clean-out: remove built binaries, zip and linux packages
* clean: remove everything (go and release files)
Building requires to have gcc and other build tools installed. Building rpm/deb files would fail without fpm ("gem install fpm" itself requires ruby devel tools).
Create CHECKSUMS.asc file using gpg and key that other developers shared with you:
gpg -u KEYID --clearsign CHECKSUMS
(key has to be installed in your gpg environment first)
## Step 3: Release
In order to make release official following steps required:
# push tags (assuming joewalnes repo is origin):
go push --tags origin master:master
Upload files to github release (to be automated). Use these instructions for now: https://github.com/blog/1547-release-your-software
|