From ebe5a6352e76a2c197b8d55a23103b719c18047b Mon Sep 17 00:00:00 2001 From: Amritanshu Date: Mon, 10 Aug 2026 08:33:15 +0000 Subject: [PATCH] Made the version bump more robust. --- deploy.sh | 9 ++++----- version_bump.sh | 40 ++++++++++++++++++++++++++++++++-------- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/deploy.sh b/deploy.sh index b80a544a..87e94715 100755 --- a/deploy.sh +++ b/deploy.sh @@ -7,11 +7,10 @@ cd "$parent_path" || exit if [ 1 -eq "$#" ] then - # ./version_bump.sh "$1" - make build-production TAG="$1" -else - # ./version_bump.sh - make build-production + ./version_bump.sh "$1" fi + +current_version=$(grep -m 1 '^version = ' barker/pyproject.toml | sed -E 's/version = "([^"]+)"/\1/') +make build-production TAG="$current_version" cd "$parent_path/ansible" || exit ansible-playbook --inventory=hosts playbook.yml diff --git a/version_bump.sh b/version_bump.sh index 74d3be17..3704ad2e 100755 --- a/version_bump.sh +++ b/version_bump.sh @@ -5,20 +5,44 @@ cd "$parent_path" || exit if [ 1 -eq "$#" ] then - echo "Version bump to $1" - sed --in-place --regexp-extended 's/"([0-9]{1,2}.[0-9].[0-9])"/"'"$1"'"/g' barker/barker/__version__.py + current_version=$(grep -m 1 '^version = ' barker/pyproject.toml | sed -E 's/version = "([^"]+)"/\1/') + IFS='.' read -r major minor patch <<< "$current_version" + + if [ "$1" == "major" ]; then + major=$((major + 1)) + minor=0 + patch=0 + new_version="${major}.${minor}.${patch}" + elif [ "$1" == "minor" ]; then + minor=$((minor + 1)) + patch=0 + new_version="${major}.${minor}.${patch}" + elif [ "$1" == "patch" ]; then + patch=$((patch + 1)) + new_version="${major}.${minor}.${patch}" + elif [[ "$1" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + new_version="$1" + else + echo "Invalid argument: must be 'major', 'minor', 'patch', or a specific version (e.g. 1.2.3)" + exit 1 + fi + + echo "Version bump from $current_version to $new_version" + sed --in-place --regexp-extended 's/"([0-9]{1,2}.[0-9]+.[0-9]+)"/"'"$new_version"'"/g' barker/barker/__version__.py git add barker/barker/__version__.py - sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9].[0-9])"/version = "'"$1"'"/g' barker/pyproject.toml + sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' barker/pyproject.toml git add barker/pyproject.toml - sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9].[0-9])"/version = "'"$1"'"/g' frank/pyproject.toml + sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' frank/pyproject.toml git add frank/pyproject.toml - sed --in-place --regexp-extended 's/version: '\''([0-9]*.[0-9].[0-9])'\''/version: '\'"$1"\''/g' bookie/src/app/app.environment.ts + sed --in-place --regexp-extended 's/version: '\''([0-9]*.[0-9]+.[0-9]+)'\''/version: '\'"$new_version"\''/g' bookie/src/app/app.environment.ts git add bookie/src/app/app.environment.ts - sed --in-place --regexp-extended 's/"version": "([0-9]{1,2}.[0-9].[0-9])"/"version": "'"$1"'"/g' bookie/package.json + sed --in-place --regexp-extended 's/"version": "([0-9]{1,2}.[0-9]+.[0-9]+)"/"version": "'"$new_version"'"/g' bookie/package.json git add bookie/package.json - git commit -m "Version Bump v$1" - git tag "v$1" + git commit -m "Version Bump v$new_version" + git tag "v$new_version" else echo "No version bump" + echo "Usage: $0 " + exit 1 fi git push --tags