diff options
| author | Frank <[email protected]> | 2025-07-25 17:34:47 -0400 |
|---|---|---|
| committer | Frank <[email protected]> | 2025-07-25 17:34:47 -0400 |
| commit | 3a7a2a838ec6ba625aa27aaa73cf4ea8ee03e79e (patch) | |
| tree | 0c9b4fbaf21001511959b6ba803b8b1b162868b7 /github/script/release | |
| parent | 10ae43a12190ed3ac96ae1d672b1aa1dd006b072 (diff) | |
| download | opencode-3a7a2a838ec6ba625aa27aaa73cf4ea8ee03e79e.tar.gz opencode-3a7a2a838ec6ba625aa27aaa73cf4ea8ee03e79e.zip | |
wip: github actions
Diffstat (limited to 'github/script/release')
| -rwxr-xr-x | github/script/release | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/github/script/release b/github/script/release new file mode 100755 index 000000000..35180b454 --- /dev/null +++ b/github/script/release @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# Parse command line arguments +minor=false +while [ "$#" -gt 0 ]; do + case "$1" in + --minor) minor=true; shift 1;; + *) echo "Unknown parameter: $1"; exit 1;; + esac +done + +# Get the latest Git tag +git fetch --force --tags +latest_tag=$(git tag --sort=committerdate | grep -E '^github-v[0-9]+\.[0-9]+\.[0-9]+$' | tail -1) +if [ -z "$latest_tag" ]; then + echo "No tags found" + exit 1 +fi + +echo "Latest tag: $latest_tag" + +# Split the tag into major, minor, and patch numbers +IFS='.' read -ra VERSION <<< "$latest_tag" + +if [ "$minor" = true ]; then + # Increment the minor version and reset patch to 0 + minor_number=${VERSION[1]} + let "minor_number++" + new_version="${VERSION[0]}.$minor_number.0" +else + # Increment the patch version + patch_number=${VERSION[2]} + let "patch_number++" + new_version="${VERSION[0]}.${VERSION[1]}.$patch_number" +fi + +echo "New version: $new_version" + +# Tag +git tag $new_version +git push --tags
\ No newline at end of file |
