Skip to content

Commit 8f6f68e

Browse files
committed
Add RELEASE-PROCESS.md
The document describes the release process for NGINX Unit. Signed-off-by: Andrew Clayton <[email protected]>
1 parent 24ed91f commit 8f6f68e

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

Diff for: RELEASE-PROCESS.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
This document describes the release process for NGINX Unit and as such is
2+
likely only of interest to NGINX Unit maintainers.
3+
4+
# Create a preparatory branch
5+
6+
You should create a new branch for doing this work. E.g.
7+
8+
$ git checkout -b x.y[.z]-prep master
9+
10+
11+
# Create a set of commits
12+
13+
## unitctl
14+
15+
Create a commit that updates the version of tools/unitctl. There are a
16+
few places where this needs updating, find them with
17+
18+
$ grep -rn x.y.z tools/unitctl/
19+
20+
See 3144710fe for an example.
21+
22+
## unit-openapi.yaml
23+
24+
Create a commit that updates the version in docs/unit-openapi.yaml
25+
26+
See: <T.B.C> for an example.
27+
28+
## Dockerfiles
29+
30+
Create a commit that generates new dockerfiles.
31+
32+
$ cd pkg/docker
33+
$ make clean
34+
$ make dockerfiles
35+
36+
$ git rm/add as required
37+
38+
See f7771378f for an example.
39+
40+
## changes.xml
41+
42+
Create a commit that updates the docs/changes.xml for this release.
43+
44+
As well as adding the various entries also update the 'date' and 'time'
45+
fields.
46+
47+
## Generate the CHANGES file
48+
49+
$ make -C docs/ changes && mv build/CHANGES .
50+
51+
See 24ed91f40 for an example.
52+
53+
54+
# Merge it
55+
56+
These should be the last commits into the repository before the release
57+
is tagged.
58+
59+
60+
# Tag the release
61+
62+
Once the above has been merged you can tag it with the new version. For
63+
this we create an annotated tag. E.g. On master
64+
65+
$ git tag -a -m "Unit 1.33.0 release." 1.33.0
66+
67+
This should create a new tag object pointing to the "CHANGES" commit.
68+
69+
The tag can be pushed just as the branch is. E.g.
70+
71+
$ git push <upstream> 1.33.0
72+
73+
74+
# Tarball
75+
76+
We need to publish an archive of the source and a checksum.
77+
78+
$ cd pkg
79+
$ make dist
80+
$ rsync -tv unit-X.Y.Z.tar.* dev:/data/www/unit.nginx.org/download/
81+
82+
83+
# Docs
84+
85+
The unit-docs repository needs a copy of CHANGES under
86+
source/CHANGES.txt
87+
88+
89+
# Post release
90+
91+
Immediately after release we should bump the version of Unit by editing
92+
the version file and docs/changes.xml to add a new changes header
93+
94+
See e67d74332 for an example.

0 commit comments

Comments
 (0)