aboutsummaryrefslogtreecommitdiff
path: root/do-release
diff options
context:
space:
mode:
authorLoïc Minier <lool@dooz.org>2011-01-28 13:05:34 +0100
committerLoïc Minier <lool@dooz.org>2011-01-28 13:05:34 +0100
commit7ea3c9190b8e4f760143695d9ab5bbcbe988e55b (patch)
tree7faaa1f0c64fd3953525af8a1e549201fcd60f05 /do-release
parent229d9abaf181b242a52072e3adaaf84851d93d00 (diff)
Add simple script to roll a release; needs some setup.py fixes before it can
be used though.
Diffstat (limited to 'do-release')
-rwxr-xr-xdo-release47
1 files changed, 47 insertions, 0 deletions
diff --git a/do-release b/do-release
new file mode 100755
index 0000000..e34f649
--- /dev/null
+++ b/do-release
@@ -0,0 +1,47 @@
+#!/bin/sh
+# tag tree, generate ChangeLog and roll a release tarball
+
+set -e
+
+self="$(basename "$0")"
+
+usage() {
+ echo "Usage: $self <version>"
+}
+
+log() {
+ echo "$*" >&2
+}
+
+log_i() {
+ log "I:" "$@"
+}
+
+die() {
+ log "E:" "$@"
+ exit 1
+}
+
+version="$1"
+
+if [ -z "$version" ]; then
+ usage >&2
+ exit 1
+fi
+
+if bzr tags | awk '{print $1}' | grep -qFx "$version"; then
+ die "Tag $version already exists; aborting"
+fi
+
+log_i "Creating tag $version"
+bzr tag "$version"
+
+log_i "Generating ChangeLog"
+bzr log -v --gnu-changelog >ChangeLog
+
+log_i "Creating release tarball in parent directory"
+./setup.py sdist -d ..
+
+log_i "Cleaning up"
+rm -f ChangeLog MANIFEST
+