diff options
author | Paul Moore <paul@paul-moore.com> | 2017-02-24 15:35:03 -0500 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2017-02-24 15:35:03 -0500 |
commit | 4e618d26c58e08b560d0ca894f3381c0dd5d514f (patch) | |
tree | 3822a40c74b27d1b47daad58e4e45796618f2b4c | |
parent | 9ea80e314b7b1b16e5dcf4a1d7496fd706303c90 (diff) | |
download | libseccomp-4e618d26c58e08b560d0ca894f3381c0dd5d514f.tar.gz |
docs: add a RELEASE_PROCESS document
This should help make releases much more consistent.
Signed-off-by: Paul Moore <paul@paul-moore.com>
-rw-r--r-- | RELEASE_PROCESS.md | 89 |
1 files changed, 89 insertions, 0 deletions
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 + <submit tarball manually> + + ... or ... + + # git push -f coverity-scan + <leverage existing Travis CI infrastructure> + +#### 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 + + <unpack the release tarball in a temporary directory> + # ./configure --enable-python + # make check + # (cd tests; ./regression -T live) + +#### 14. Generate a checksum for the release tarball + + # sha256sum <tarball> > 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 |