Skip to content

Commit 0e4d1ce

Browse files
committed
build: Extend release script to support micro version releases
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 <[email protected]>
1 parent cee7533 commit 0e4d1ce

1 file changed

Lines changed: 28 additions & 11 deletions

File tree

release.sh

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,35 @@
11
#!/bin/bash
22

33
usage() {
4-
echo "release.sh: VERSION"
4+
echo "Usage: release.sh [-d] VERSION"
55
echo ""
66
echo "The script does all necessary steps to create a new release."
77
echo ""
8+
echo " -d: no documentation update"
9+
echo ""
810
echo "Note: The version number needs to be exactly"
9-
echo " '^v[\d]+.[\d]+(-rc[0-9]+)?$'"
11+
echo " '^v[\d]+.[\d]+(.[\d\]+(-rc[0-9]+)?$'"
1012
echo ""
1113
echo "example:"
1214
echo " release.sh v2.1-rc0 # v2.1 release candidate 0"
1315
echo " release.sh v2.1 # v2.1 release"
1416
}
1517

16-
VERSION=$1
18+
build_doc=true
19+
20+
while getopts "d" o; do
21+
case "${o}" in
22+
d)
23+
build_doc=false
24+
;;
25+
*)
26+
usage
27+
;;
28+
esac
29+
done
30+
shift $((OPTIND-1))
31+
32+
VERSION=${1:-}
1733

1834
if [ -z "$VERSION" ] ; then
1935
usage
@@ -22,14 +38,13 @@ fi
2238

2339
ver=""
2440

25-
re='^v([0-9]+\.[0-9]+)(-rc[0-9]+)?$'
41+
re='^v([0-9]+\.[0-9]+(\.[0-9]+)?)(-rc[0-9]+)?$'
2642
if [[ "$VERSION" =~ $re ]]; then
2743
echo "Valid version $VERSION string"
28-
ver=${BASH_REMATCH[1]}${BASH_REMATCH[2]}
44+
# remove the leading 'v'
45+
ver=${VERSION#v}
2946
else
3047
echo "Invalid version string $VERSION"
31-
echo ""
32-
usage
3348
exit 1
3449
fi
3550

@@ -59,10 +74,12 @@ sed -i -e "0,/[ \t]version: /s/\([ \t]version: \).*/\1\'$ver\',/" meson.build
5974
git add meson.build
6075
git commit -s -m "build: Update version to $VERSION"
6176

62-
# update documentation
63-
./$doc_dir/update-docs.sh
64-
git add $doc_dir
65-
git commit -s -m "doc: Regenerate all docs for $VERSION"
77+
if [ "$build_doc" = true ]; then
78+
# update documentation
79+
./$doc_dir/update-docs.sh
80+
git add $doc_dir
81+
git commit -s -m "doc: Regenerate all docs for $VERSION"
82+
fi
6683

6784
git tag -s -m "Release $VERSION" "$VERSION"
6885
git push --dry-run origin "$VERSION"^{}:master tag "$VERSION"

0 commit comments

Comments
 (0)