summaryrefslogtreecommitdiff
path: root/doc/admin
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2019-04-17 17:15:29 -0400
committerPaul Moore <paul@paul-moore.com>2019-04-17 17:15:29 -0400
commit3f214cbbbbd663dd4e7fe90638af4971b436ec00 (patch)
tree25e5f08c203e539139cdd014ddf98d6ac657ec58 /doc/admin
parent0d73daf07490656130e0f5311ad12ca8818752c5 (diff)
downloadlibseccomp-3f214cbbbbd663dd4e7fe90638af4971b436ec00.tar.gz
docs: create a doc/admin directory and move RELEASE_PROCESS.md into it
The idea is that any administrative/process docs should go in doc/admin. Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'doc/admin')
-rw-r--r--doc/admin/RELEASE_PROCESS.md105
1 files changed, 105 insertions, 0 deletions
diff --git a/doc/admin/RELEASE_PROCESS.md b/doc/admin/RELEASE_PROCESS.md
new file mode 100644
index 0000000..5f09ce1
--- /dev/null
+++ b/doc/admin/RELEASE_PROCESS.md
@@ -0,0 +1,105 @@
+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 all issues assigned to the release milestone have been resolved
+
+ * https://github.com/seccomp/libseccomp/milestones
+
+#### 2. Verify that the syntax/style meets the guidelines
+
+ # make check-syntax
+
+#### 3. Verify that the bundled test suite runs without error
+
+ # ./autogen.sh
+ # ./configure --enable-python
+ # make check
+ # (cd tests; ./regression -T live)
+
+#### 4. Verify that the packaging is correct
+
+ # make distcheck
+
+#### 5. 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>
+
+#### 6. Perform any distribution test builds
+
+ * Fedora Rawhide
+ * Red Hat Enterprise Linux
+ * etc.
+
+#### 7. If any problems were found up to this point that resulted in code changes, restart the process
+
+#### 8. Update the CREDITS file with any new contributors
+
+ # ./doc/credits_updater > CREDITS
+
+ ... the results can be sanity checked with the following git command:
+
+ # git log --pretty=format:"%aN <%aE>" | sort -u
+
+#### 9. Update the CHANGELOG file with significant changes since the last release
+
+#### 10. 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"
+
+#### 11. Update the version number in configure.ac AC_INIT(...) macro
+
+#### 12. Tag the release in the repository with a signed tag
+
+ # git tag -s -m "version X.Y.Z" vX.Y.Z
+ # git push <repo> vX.Y.Z
+
+#### 13. Build final release tarball
+
+ # make clean
+ # ./autogen.sh
+ # make dist-gzip
+
+#### 14. 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)
+
+#### 15. Generate a checksum for the release tarball
+
+ # sha256sum <tarball> > libseccomp-X.Y.Z.tar.gz.SHA256SUM
+
+#### 16. 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
+
+#### 17. 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
+
+#### 18. Update the GitHub release notes for older releases which are now unsupported
+
+The following Markdown text is suggested at the top of the release note, see old GitHub releases for examples.
+
+```
+***This release is no longer supported upsteam, please use a more recent release***
+```