From 936e5f253ef888c043f61ba6a8bb497f50dda368 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Fri, 25 Nov 2022 13:56:11 +0000 Subject: scripts: Provide a release script Support making releases of uvc-gadget by introducing a helper script which will facilitate the increment of any release version, along with generating an associated tag, derived from the equivalent implementation in libcamera [0]. [0] https://git.libcamera.org/libcamera/libcamera.git/tree/utils/release.sh?h=v0.0.2 Reviewed-by: Daniel Scally Signed-off-by: Kieran Bingham --- scripts/release.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 scripts/release.sh diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 0000000..2de0063 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Prepare a project release + +set -e + +# Abort if we are not within the project root or the tree is not clean. +if [ ! -e scripts/gen-version.sh ] || [ ! -e .git ]; then + echo "This release script must be run from the root of uvc-gadget git tree." + exit 1 +fi + +if ! git diff-index --quiet HEAD; then + echo "Tree must be clean to release." + exit 1 +fi + +# Identify current version components +version=$(./scripts/gen-version.sh) + +# Decide if we are here to bump major, minor, or patch release. +case $1 in + major|minor|patch) + bump=$1; + ;; + *) + echo "You must specify the version bump level: (major, minor, patch)" + exit 1 + ;; +esac + +new_version=$(./scripts/semver bump "$bump" "$version") + +echo "Bumping $bump" +echo " Existing version is: $version" +echo " New version is : $new_version" + +# Patch in the version to our meson.build +sed -i -E "s/ version : '.*',/ version : '$new_version',/" meson.build + +# Commit the update +git commit meson.build -esm "uvc-gadget v$new_version" + +# Create a tag from that commit +git show -s --format=%B | git tag "v$new_version" -s -F - -- cgit v1.2.3