Add document describing the release procedures

Message ID 20191006221414.335031-1-johannes@kyriasis.com
State Accepted
Headers show
Series
  • Add document describing the release procedures
Related show

Commit Message

Johannes Löthberg Oct. 6, 2019, 10:14 p.m. UTC
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
---
 doc/Makefile.am           |  1 +
 doc/release-procedure.txt | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 doc/release-procedure.txt

Patch

diff --git a/doc/Makefile.am b/doc/Makefile.am
index d5e33ab..57f7b55 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -21,6 +21,7 @@  HTML_MANPAGES = \
 
 HTML_OTHER = \
 	submitting-patches.html
+	release-procedure.html
 
 HTML_DOCS = \
 	$(HTML_MANPAGES) \
diff --git a/doc/release-procedure.txt b/doc/release-procedure.txt
new file mode 100644
index 0000000..cf205da
--- /dev/null
+++ b/doc/release-procedure.txt
@@ -0,0 +1,39 @@ 
+Release Procedure
+=================
+
+Preparations
+------------
+
+--
+Before tagging the release, ensure that:
+
+* `CHANGES.md` has been updated with all changes that will go into the new release.
+
+--
+
+Procedure
+---------
+
+--
+Assuming `$VERSION` is the version number in `X.Y.Z` format, and `$REMOTE` is the Git remote for the `pacman-contrib` repository on `git.archlinux.org`:
+
+* Update the version in `configure.ac`.
+* Rename the `Unreleased` section in `CHANGES.md` to `[$VERSION] - YYYY-MM-DD`, and add the git log URL for the new tag to the bottom of the file.
+* `git commit -m "Release v$VERSION"`
+* `git tag -s v$VERSION -m v$VERSION`
+* {blank}
++
+----
+git notes --ref=refs/notes/signatures/tar add -C "$(
+  git archive --format tar --prefix "pacman-contrib-$VERSION/" v$VERSION |
+  gpg --output - --armor --detach-sign |
+  git hash-object -w --stdin
+)" v$VERSION
+----
+* `git push $REMOTE master $VERSION refs/notes/signatures/tar`
+
+--
+
+/////
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/////