mirror of
https://github.com/resiprocate/resiprocate.git
synced 2026-01-12 00:05:02 +08:00
107 lines
2.8 KiB
Plaintext
107 lines
2.8 KiB
Plaintext
|
|
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 CMake
|
|
for consistency. The currently endorsed version is the CMake
|
|
distributed in Debian 11.0 (bullseye). If another version is to be used,
|
|
it should be discussed on the mailing list and noted in this document.
|
|
|
|
cmake .
|
|
|
|
Make a tarball
|
|
--------------
|
|
|
|
build/release-tarball.sh
|
|
|
|
* this script will call cmake . && make dist
|
|
* it uses a temporary clone from the current working directory
|
|
to avoid picking up files that are not committed
|
|
|
|
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
|
|
./build/debian.sh && make -j 70 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.
|
|
|
|
|