summaryrefslogtreecommitdiff
path: root/DeveloperNotes
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <gkiagia@tolabaki.gr>2016-06-20 10:06:31 +0300
committerGeorge Kiagiadakis <gkiagia@tolabaki.gr>2016-06-20 10:06:31 +0300
commita605ab14cdc5ab7da5d5a21281b12719b7d28e62 (patch)
tree97ea9e7bf8df99c07887f508c13a916391979c1e /DeveloperNotes
parentdb646874e8eed66831743abf183c5d30cf5377d2 (diff)
Release_Checklist -> DeveloperNotes/Release_Checklist
Diffstat (limited to 'DeveloperNotes')
-rw-r--r--DeveloperNotes/Release_Checklist.mdwn36
1 files changed, 36 insertions, 0 deletions
diff --git a/DeveloperNotes/Release_Checklist.mdwn b/DeveloperNotes/Release_Checklist.mdwn
new file mode 100644
index 0000000..1c168fc
--- /dev/null
+++ b/DeveloperNotes/Release_Checklist.mdwn
@@ -0,0 +1,36 @@
+
+Things to do when making a release. Instructions here are for git.
+
+* If there's a NEWS file, summarize important changes in it, and name the release (see [[Release Names|Release Names]])
+* If it's a C project:
+ * Replace UNRELEASED with the new version number in @since docstrings.
+ * Bump the version number in configure.ac:
+ * If the package has a nano version like 1.2.3.1, set it to 0 and increment the minor version to 1.2.4.
+ * If the package has a version like 1.2.3+, remove the + and increment the minor version to 1.2.4.
+ * If the package has a _release, set it to 1 and increment the minor version.
+ * If it's [[TelepathyGlib|TelepathyGlib]] and it adds ABI, whitelist new symbols. Newly introduced symbols can be found in reference docs as follows (which will also list typedefs and macros, which should not be included in the .abi file): `git diff telepathy-glib-$PREVIOUS_VERSION..HEAD docs/reference/telepathy-glib-sections.txt | grep '^+[^+]' | cut -c2-`
+* If it's a Python project:
+ * Bump the version number in setup.py.
+* `git commit -am "version $VERSION"`
+* Check it works
+If you're lucky, you can now just run `make maintainer-make-release` to automate all of the following steps, including generating a release mail. If not, you could update the project's copy of tools/telepathy.am from the canonical copy in telepathy-glib, or follow these manual steps?
+
+* If it's a C project:
+ * `make check` (partly for one last check, partly to keep gtk-doc happy)
+ * `make distcheck`
+* If it's a Python project:
+ * `python setup.py distcheck` (if available) or `python setup.py sdist` (otherwise)
+* `git tag -s "$PACKAGE-$VERSION" -m "$PACKAGE $VERSION"`
+* Generate a signature: `gpg --detach-sign -a $TARBALL`
+* If it's a project that uses `tools/telepathy.am`, run `make maintainer-upload-release` which will upload tarball, signature and the docs to fd.o. Otherwise, manually upload tarball and its signature to `annarchy.freedesktop.org:/srv/telepathy.freedesktop.org/www/releases/$PACKAGE`.
+* Send an announce email to `telepathy@lists.freedesktop.org` and `ftp-release@lists.freedesktop.org`:
+ * If there's a NEWS file, paste the latest entry into the announcement.
+ * If not, summarize important changes.
+ * Include the URLs to the tarball and the signature for that tarball.
+* If a C project:
+ * If the package has a nano version, set it to 1.
+ * If the package uses the 1.2.3+ convention (Mission Control), append a "+".
+ * If the package has a _release, set it to 0.
+ * `git commit -am "version $VERSION"`
+* `git push`
+* `git push --tags` \ No newline at end of file