[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add do-release.sh



Hi,

this commit adds a script that:
- bumps either the minor or the major version, using options
  --major or --minor
- updates VERSION
- commits VERSION update
- tags VERSION update

OK for trunk?

Is there anything else involved in doing a release?

Thanks,
- Tom

Add do-release.sh

2019-07-22  Tom de Vries  <tdevries@suse.de>

	* do-release.sh: New file.

---
 do-release.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/do-release.sh b/do-release.sh
new file mode 100755
index 0000000..f1bb4d9
--- /dev/null
+++ b/do-release.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+set -e
+
+do_minor=false
+do_major=false
+
+while [ $# -gt 0 ]; do
+    case "$1" in
+	--minor)
+	    do_minor=true
+	    ;;
+	--major)
+	    do_major=true
+	    ;;
+	*)
+	    echo "Unknown option: $1"
+	    exit 1
+    esac
+    shift
+done
+
+if $do_minor && $do_major; then
+    echo "Can only bump minor or major, not both"
+    exit 1
+fi
+
+if ! $do_minor && ! $do_major; then
+    echo "Need to bump minor or major"
+    exit 1
+fi
+
+git checkout master
+
+version=$(cat VERSION)
+
+minor=$(echo $version \
+	    | sed 's/.*\.//')
+major=$(echo $version \
+	    | sed 's/\..*//')
+echo Current version: major: $major,  minor: $minor
+
+if $do_minor; then
+    echo "Bumping minor version"
+    minor=$(($minor + 1))
+elif $do_major; then
+    echo "Bumping major version"
+    major=$(($major + 1))
+    minor=0
+fi
+echo Bumped version: major: $major,  minor: $minor
+
+version=$major.$minor
+
+echo $version > VERSION
+
+git add VERSION
+
+git commit -m "Bump version to $version"
+
+git tag dwz-$version