This repository has been archived by the owner on May 8, 2023. It is now read-only.
forked from resiprocate/resiprocate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRELEASE-PROCESS.txt
108 lines (67 loc) · 2.9 KB
/
RELEASE-PROCESS.txt
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
reSIProcate release process
===========================
This document explains the process for building a release of the
reSIProcate software.
Deliverables
------------
The only official deliverable is the tarball, for example,
resiprocate-1.8.0.tar.gz
As a courtesy to users, a contrib tarball is also produced,
containing some third party code:
resiprocate-contrib-1.8.0.tar.gz
Building of binary packages (e.g. for Debian, RPM, OpenCSW) is
done after the tarball release. That is not covered here.
Workspace
---------
Obtain a release branch from the Git repository.
git clone -b release/1.8 https://github.com/resiprocate/resiprocate resip-1.8
cd resip-1.8
If this is the beginning of a release branch, manually copy the ChangeLog
file from the previous release branch and then add the new entries.
Version/tag
-----------
Here we give an example for building the release v1.8.5:
Update version information and tag it:
vi configure.ac (update the version and ABIVERSION numbers)
git add configure.ac
git commit -m 'release: Update for 1.8.5'
git tag -s -m 'release: Tag 1.8.5' resiprocate-1.8.5
git push (send changes back to Git)
Bootstrap
---------
The bootstrap must always be done on the same version of autotools
for consistency. The currently endorsed version is the autotools
distributed in Debian 10.0 (buster). If another version is to be used,
it should be discussed on the mailing list and noted in this document.
autoreconf --install
Make a tarball
--------------
build/release-tarball.sh
* this script will call configure && make dist
* any previous configure settings will be overridden, so you
may want to preserve a copy of config.status and config.log
or just do this operation from a workspace that is independent
of your normal development workspace
Make the contrib tarball
------------------------
build/contrib-tarball.sh
Sanity check on tarball
-----------------------
Extract the tarball to /tmp/some-folder/resiprocate-1.8.5
cd /tmp/some-folder/resiprocate-1.8.5
./configure && make -j 12 check
Distribute the tarball
----------------------
sha256sum resiprocate-1.8.5.tar.gz
Upload the tarball to the pre-release section of the web site
cadaver https://www.resiprocate.org/files/pub/reSIProcate/releases/
mput resiprocate-1.8.5.tar.gz resiprocate-1.8.5.zip resiprocate-contrib-1.8.5.tar.gz resiprocate-contrib-1.8.5.zip
Send a PGP signed email to the developers list announcing that
a release candidate has been built. Other developers may test the tarball.
Include the SHA-256 checksum of each file in the PGP signed email.
Confirm the release
-------------------
Upload the tarball to the official download page
Send a PGP signed email to the resip-announce and users lists
announcing that the release candidate is now an official release.
Include the SHA-256 checksum in the PGP signed email.