-
Notifications
You must be signed in to change notification settings - Fork 64
Release Checklist
David Ozog edited this page Mar 20, 2025
·
27 revisions
- Update version number in
configure.ac; format vX.Y.Z[suffix]. The X and Y numbers correspond to the highest numbered version of the OpenSHMEM specification that is supported by the release and the Y number starts at 0 and is incremented with each subsequent release. The suffix is used to denote a pre-release and has the format [a-z]+[0-9]+; we have adopted a convention of starting with "1" rather than "0" for suffix numbering. A suffix of "a" denotes an alpha release and "rc" denotes a release candidate. The suffix should not be appended with a "-" as this causes problems for autoconf (e.g. v1.3.0-rc1 was a poor choice). Examples of good version numbers: v1.4.0, v1.4.0a1, v1.4.0rc1. - Add entry to NEWS file for the new version. Autoconf will check that the version numbers match and fail if the NEWS entry is missing.
- Update SHMEM_MAJOR_VERSION and SHMEM_MINOR_VERSION in
mpp/shmem-def.h.inandmpp/shmem.fh.in. These numbers must follow the rules defined in the OpenSHMEM specification. In particular, they should correspond to the highest numbered version of the OpenSHMEM specification that is supported.
- Test with latest release of libfabric, including sockets, PSM2, PSM3, OPX, CXI, and verbs;ofi_rxm providers.
- Test with c99 and c11 compilers (e.g.
-std=c99) - Test that the tarball produced by
make distcan be used to successfully build SOS (a common error is that newly added files are not included in the distribution).$ make distcheck
- Test the RPM package build:
$ ./configure --with-ofi=$HOME/opt/libfabric --enable-pmi-simple$ make dist (note this doesn't work on Neptune)$ rpmbuild -ta ./sandia-openshmem-X.Y.Z.tar.gz --define "configargs --enable-pmi-simple --with-ofi=path-to-libfabric"
- Coverity check (optional - there may be many false positive warnings)
- Check that all new profiling symbols (
pshmem) are included in SOS (see pshmem_symbol_check.sh) - Travis only checks
--with-ofi --with-cma --enable-error-checking --enable-profiling --enable-ofi-mr=basic --enable-av-map --enable-remote-virtual-addressing --enable-pmi-simplebut we are consistently low on credits. It may be best to check it (and CMA in general) manually. - Check tests with
--enable-lengthy-tests - Check non-gcc compilers (esp., Intel's oneAPI icx/icpx)
- Check scripts/docker works...
- Test with Portals 4 reference implementation (must be done on an InfiniBand cluster).
- Create a new release package on Github using previous releases as a template.
- Sanity test (i.e.,
make check) the tarball package itself after release. - Synchronize the external openshmem-org/tests-sos repository and tag it with the corresponding version number.
- Update the
configure.acversion number inopenshmem-org/tests-sos - Assure the Spack
sosandtests-sospackages build and run correctly. - (Post release) Assure the Spack
sosandtests-sospackages are up-to-date with the latest version. - (Post release) synchronize upstream dependencies if necessary (OMPI configury, PMI-simple, dlmalloc, uthash, etc.)
- (Post release) Update
SOS_VERSIONinscripts/simple-build-ofi.sh. Must be done only after the release is tagged.