-
Notifications
You must be signed in to change notification settings - Fork 401
Release procedures
Jeff Squyres edited this page Mar 29, 2016
·
40 revisions
It's time to release -- woo hoo!
Make sure that each of the following items are done before publishing a new tarball:
- For libfabric:
- Update the version number in
configure.ac
to the final release version- All version numbers must be 3 digits:
X.Y.Z
(even if Z is 0).
- All version numbers must be 3 digits:
- Update the version numbers in
include/rdma/fabric.h
:-
FI_VERSION_MAJOR
should match the first digit of the version number inconfigure.ac
-
FI_VERSION_MINOR
should match the second digit of the version number inconfigure.ac
-
- Update the shared library version number(s) in
Makefile.am
per the GNU Libtool shared library version number rules- Pro tip: run
git log --stat --no-merges > log.txt
as the head of the master - Examine this file all the way back to the Git tag for the previous release; look for changes to files in
src/
,include/
, andinclude/rdma
to help determine if thec:r:a
version values need to change
- Pro tip: run
- Update the release date in
NEWS.md
- Update all documentation files (especially including dates and version numbers), including:
- Provider Feature Matrix (when completed snapshot to "Provider Feature Matrix vX.X.X")
-
NEWS.md
, including link to "Provider Feature Matrix vX.X.X" README.md
AUTHORS
man/fi_<providers>.7.md
- Update the years in the copyright notices in
COPYING
- ...any other doc files that may not be included in this list
- Update the version number in
- For fabtests:
- Update the version number in
configure.ac
to the final release version - Update all documentation files (especially including dates and version numbers):
README
README.md
AUTHORS
- Update the years in the copyright notices in
COPYING
- ...any other doc files that may not be included in this list
- Update the version number in
- Ensure libfabric
make distcheck
passes - Build and install libfabric
- Check that the version number and release date is correct in the installed man pages
- Ensure fabtests
make distcheck
passes - Build and install fabtests (with the newly-installed libfabric)
- Ensure all providers pass all tests
- Change
LD_LIBRARY_PATH
to point to an installation of the prior release - Re-run all fabtests and ensure that they still pass
- Ensure that building a libfabric source RPM works on a RHEL system
- Ensure that building the libfabric binary RPMs (
libfabric
andlibfabric-devel
) work on a RHEL system - Install both RPMs on an RHEL system
- Test building and running fabtests against the RPM-installed libfabric
- Test building a libfabric-based program with the output from
pkg-config
with the RPM-installedlibfabric.pc
- Uninstall
libfabric-devel
and ensure libfabric programs still run correctly
- Copy the final
.tar.gz
and.tar.bz2
tarballs to www.openfabrics.org - Copy the
man/*.[0-9].md
files from exactly the same Git hash that was used to make the official tarball to thegh-pages
branch of the libfabric Git repo- Put them in
vX.Y.Z/man/
- Also put an
index.md
file in that directory (copy one from the prior releases and edit it to reflect this version, and add/remove any man pages as relevant for this release)
- Put them in
- Update the main
index.md
page:- Add links to the new libfabric and fabtests release tarballs
- Add link for the man pages for this release
- Back in the
master
branch,git tag -a
both libfabric and fabtests - Close the relevant Github milestone in
ofiwg/libfabric
andofiwg/fabtests
- Ensure that new Github milestones exist in
ofiwg/libfabric
andofiwg/fabtests
for the next release - Send an email to the
ofiwg
mailing list announcing the release
- Update the libfabric and fabtests version numbers in
configure.ac
andinclude/rdma/fabric.h
to be the next version, but with ana1
suffix (i.e., alpha version 1).- E.g., if you just released v1.3.0, update the version to be v1.4.0a1.
- Update crontab to put new nightly tarballs in the new version directory
- E.g., in
.../ofiwg/nightly_tarballs/v1.4.x/
- E.g., in