diff options
| author | Dax Raad <[email protected]> | 2025-07-31 01:25:24 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-07-31 01:25:24 -0400 |
| commit | 2d9ed06367516daa184ecf70bb0b2451c06da8d1 (patch) | |
| tree | e735b78999853aa52d77240a4be7d32e0d09556e /script/release | |
| parent | 50be2aee39289b7e05299e61d53478736ab914cc (diff) | |
| download | opencode-2d9ed06367516daa184ecf70bb0b2451c06da8d1.tar.gz opencode-2d9ed06367516daa184ecf70bb0b2451c06da8d1.zip | |
ci: scripts
Diffstat (limited to 'script/release')
| -rwxr-xr-x | script/release | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/script/release b/script/release new file mode 100755 index 000000000..631cd5a7b --- /dev/null +++ b/script/release @@ -0,0 +1,42 @@ +#!/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 release from GitHub +latest_tag=$(gh release list --limit 1 --json tagName --jq '.[0].tagName') + +# If there is no tag, exit the script +if [ -z "$latest_tag" ]; then + echo "No tags found" + exit 1 +fi + +echo "Latest tag: $latest_tag" + +# Remove the 'v' prefix and split into major, minor, and patch numbers +version_without_v=${latest_tag#v} +IFS='.' read -ra VERSION <<< "$version_without_v" + +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" + +gh workflow run publish.yml -f version="$new_version" + |
