From 4e618d26c58e08b560d0ca894f3381c0dd5d514f Mon Sep 17 00:00:00 2001 From: Paul Moore Date: Fri, 24 Feb 2017 15:35:03 -0500 Subject: docs: add a RELEASE_PROCESS document This should help make releases much more consistent. Signed-off-by: Paul Moore --- RELEASE_PROCESS.md | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 RELEASE_PROCESS.md diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md new file mode 100644 index 0000000..4169144 --- /dev/null +++ b/RELEASE_PROCESS.md @@ -0,0 +1,89 @@ +The libseccomp Release Process +=============================================================================== +https://github.com/seccomp/libseccomp + +This is the process that should be followed when creating a new libseccomp +release. + +#### 1. Verify that the syntax/style meets the guidelines + + # make check-syntax + +#### 2. Verify that the bundled test suite runs without error + + # ./autogen.sh + # ./configure --enable-python + # make check + # (cd tests; ./regression -T live) + +#### 3. Verify that the packaging is correct + + # make distcheck + +#### 4. Verify that there are no outstanding defects from Coverity + + # make coverity-tarball + + + ... or ... + + # git push -f coverity-scan + + +#### 5. Perform any distribution test builds + + * Fedora Rawhide + * Red Hat Enterprise Linux + * etc. + +#### 6. If any problems were found up to this point that resulted in code changes, start again step #1 + +#### 7. Update the CREDITS file with any new contributors + + # git log --pretty=format:"%aN <%aE>" | sort -u + +#### 8. Update the CHANGELOG file with significant changes since the last release + +#### 9. If this is a new major/minor release, create new 'release-X.Y' branch + + # stg branch -c "release-X.Y" + + ... or ... + + # git branch "release-X.Y" + +#### 10. Update the version number in configure.ac AC_INIT(...) macro + +#### 11. Tag the release in the repository + + # git tag -m "version X.Y.Z" vX.Y.Z + # git push --tags + +#### 12. Build final release tarball + + # make clean + # ./autogen.sh + # make dist-gzip + +#### 13. Verify the release tarball in a separate directory + + + # ./configure --enable-python + # make check + # (cd tests; ./regression -T live) + +#### 14. Generate a checksum for the release tarball + + # sha256sum > libseccomp-X.Y.Z.tar.gz.SHA256SUM + +#### 15. GPG sign the release tarball and checksum using the maintainer's key + + # gpg --armor --detach-sign libseccomp-X.Y.Z.tar.gz + # gpg --clearsign libseccomp-X.Y.Z.tar.gz.SHA256SUM + +#### 16. Create a new GitHub release using the associated tag; added the relevant section from the CHANGELOG file, and upload the following files + + * libseccomp-X.Y.Z.tar.gz + * libseccomp-X.Y.Z.tar.gz.asc + * libseccomp-X.Y.Z.tar.gz.SHA256SUM + * libseccomp-X.Y.Z.tar.gz.SHA256SUM.asc -- cgit v1.2.1