Skip to content

Commit

Permalink
utils: Provide a release script
Browse files Browse the repository at this point in the history
Support making releases of libcamera by introducing a helper script
which will facilitate the increment of any release version, along with
generating an associated tag.

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
  • Loading branch information
kbingham committed Oct 13, 2022
1 parent 1bd14fc commit fc46d09
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions utils/release.sh
Original file line number Diff line number Diff line change
@@ -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 utils/gen-version.sh ] || [ ! -e .git ]; then
echo "This release script must be run from the root of libcamera 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=$(./utils/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=$(./utils/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 "libcamera v$new_version"

# Create a tag from that commit
git show -s --format=%B | git tag "v$new_version" -s -F -

0 comments on commit fc46d09

Please sign in to comment.