diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c54df6c..92c8631 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,3 +51,11 @@ repos: hooks: - id: flake8 args: [--config=.flake8] + - repo: local + hooks: + - id: increase-version + name: Increase version if branch contains "develop" + entry: ./scripts/pre-commit/increase_version.sh + language: script + pass_filenames: false + stages: [commit] diff --git a/VERSION b/VERSION index 249b464..19cf398 100755 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0.0-develop10 +4.0.0-develop11 diff --git a/scripts/pre-commit/increase_version.sh b/scripts/pre-commit/increase_version.sh new file mode 100755 index 0000000..2909597 --- /dev/null +++ b/scripts/pre-commit/increase_version.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Check if the VERSION file is staged for modification +if git diff --cached --name-only | grep -q "VERSION"; then + echo "The VERSION file is already modified. Skipping version update." + exit 0 +fi + +# Read the current version from the VERSION file +current_version=$(cat VERSION) +echo "Current version: $current_version" +# Check if "develop" is not present in the version string +if [[ $current_version != *"develop"* ]]; then + echo "The word 'develop' is not present in the version string." + exit 0 +fi + +# Extract the version number after "develop" +version_number=$(echo "$current_version" | grep -oP '(?<=develop)\d+') + +# Increment the version number +new_version_number=$((version_number + 1)) + +# Replace the old version number with the new one +new_version=$(echo "$current_version" | sed "s/develop$version_number/develop$new_version_number/") + +# Update the VERSION file +echo "$new_version" > VERSION + +echo "Version updated to: $new_version"