mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
Page:
ReleaseChecklist
Clone
20
ReleaseChecklist
Azat Khuzhin edited this page 2023-05-21 10:00:38 +02:00
The Libevent Release Checklist
I wrote up this document as a checklist of stuff to do before putting out a Libevent release.
Part 1: Before the release
- Look at CI, currently the following is covered:
- Linux (ubuntu)
- OpenBSD
- FreeBSD
- Windows
- OSX
- Run
make dist
and make sure it generates a good distribution. You can make sure that it does by runningmake distcheck
. - Make sure all APIs are documented in libevent book and in the
doxygen
comments. This is especially important for alpha, beta, and rc releases, where new APIs are born.
Part 2: to put out the release
- Generate the changelog using
changelog.py
- Document highlights in
whatsnew-2.2.txt
(actually this is a duplication of information, shouldn't we use libevent book instead?) - Update the credits using
update-contributors.sh
- Increment the version number and version string in configure.in. The next version should be 2.0.18-stable; the numeric version should be
0x02001200
(That is, 02 00 12 00 : the first three bytes are the version number, and the final 00 byte means that this is the actual release of 2.0.18, not some development version between 2.0.18 and 2.0.19.) - Increment the
libtool
VERSION_INFO inMakefile.am
. SeeMakefile.am
for full instructions on what to do in other cases. - Increment the versions in
CMakeLists.txt
. - Run
make distcheck
again to make sure nothing above messed us up. Do this one on the system with the most up-to-date autotools you have. - Upload the resulting tarball somewhere volatile; tell people to try it out.
Part 3: The point of no return
Once the tarball is tested, it's time to put out the release.
- Tag the release. I do this with
git tag -u 165733ea ${NEW_TAG}
- Push the tag to the origin. This is done with
git push origin tag ${NEW_TAG}
- Publish the release on github and add there:
- tarball and signature to github.
gpg --detach-sign -a /path/to/.tar.gz
(key should be trusted and default key forgpg
)
- list of contributors (actually it should be not just a list, but contributions itselfs)
- This can be done using
Generate release notes content for a release
API
- This can be done using
- tarball and signature to github.
- Add a link on the website and on the old releases page.
Send an announcement to libevent-usersIncrement the version in the IRC channel topic by telling chanservset #libevent topic Welcome to #libevent! The latest release is ${NEW_TAG}.
Part 4: Right after the distribution is done
- Increment the versions in
configure.in
to${NEW_TAG}-dev
, and increment the version numbers there to0x02001201
. The "-dev" and "01" mean that we are a development version, not the released version. - Add a new empty section for the next version to the ChangeLog.
Reference
- ABI compatibility can be tracked on abi-laboratory