]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
build: Extend release script to support micro version releases
authorDaniel Wagner <dwagner@suse.de>
Mon, 1 Aug 2022 15:14:49 +0000 (17:14 +0200)
committerDaniel Wagner <dwagner@suse.de>
Mon, 1 Aug 2022 15:30:49 +0000 (17:30 +0200)
In case we need to fix up a a maj.min release extend the release
script to accept x.y.z version strings.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
release.sh

index c124b5bb133c76e96ab02bb1765641a1590ec5a5..320da46a348753a9d2763edbef9c87b5e6a7db8f 100755 (executable)
@@ -1,19 +1,35 @@
 #!/bin/bash
 
 usage() {
-    echo "release.sh: VERSION"
+    echo "Usage: release.sh [-d] VERSION"
     echo ""
     echo "The script does all necessary steps to create a new release."
     echo ""
+    echo " -d:  no documentation update"
+    echo ""
     echo "Note: The version number needs to be exactly"
-    echo "      '^v[\d]+.[\d]+(-rc[0-9]+)?$'"
+    echo "      '^v[\d]+.[\d]+(.[\d\]+(-rc[0-9]+)?$'"
     echo ""
     echo "example:"
     echo "  release.sh v2.1-rc0     # v2.1 release candidate 0"
     echo "  release.sh v2.1         # v2.1 release"
 }
 
-VERSION=$1
+build_doc=true
+
+while getopts "d" o; do
+    case "${o}" in
+        d)
+            build_doc=false
+            ;;
+        *)
+            usage
+            ;;
+    esac
+done
+shift $((OPTIND-1))
+
+VERSION=${1:-}
 
 if [ -z "$VERSION" ] ; then
     usage
@@ -22,14 +38,13 @@ fi
 
 ver=""
 
-re='^v([0-9]+\.[0-9]+)(-rc[0-9]+)?$'
+re='^v([0-9]+\.[0-9]+(\.[0-9]+)?)(-rc[0-9]+)?$'
 if [[ "$VERSION" =~ $re ]]; then
     echo "Valid version $VERSION string"
-    ver=${BASH_REMATCH[1]}${BASH_REMATCH[2]}
+    # remove the leading 'v'
+    ver=${VERSION#v}
 else
     echo "Invalid version string $VERSION"
-    echo ""
-    usage
     exit 1
 fi
 
@@ -59,10 +74,12 @@ sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver\',/" meson.build
 git add meson.build
 git commit -s -m "build: Update version to $VERSION"
 
-# update documentation
-./$doc_dir/update-docs.sh
-git add $doc_dir
-git commit -s -m "doc: Regenerate all docs for $VERSION"
+if [ "$build_doc" = true ]; then
+    # update documentation
+    ./$doc_dir/update-docs.sh
+    git add $doc_dir
+    git commit -s -m "doc: Regenerate all docs for $VERSION"
+fi
 
 git tag -s -m "Release $VERSION" "$VERSION"
 git push --dry-run origin "$VERSION"^{}:master tag "$VERSION"