forked from joewalnes/websocketd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
61 lines (36 loc) · 1.84 KB
/
README
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
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