File tree Expand file tree Collapse file tree 1 file changed +13
-11
lines changed Expand file tree Collapse file tree 1 file changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -57,17 +57,19 @@ jobs:
5757 # Generate base name from current month and year (YYYY-MM format)
5858 base_name=$(date '+%Y-%m')
5959
60- # Check if release with this name already exists
61- increment=2
62- release_name="$base_name"
63- release_tag="v$base_name"
64-
65- # Use GitHub CLI to check for existing releases
66- while gh release view "$release_tag" >/dev/null 2>&1; do
67- release_name="${base_name}.${increment}"
68- release_tag="v${base_name}.${increment}"
69- increment=$((increment + 1))
70- done
60+ # Get the latest release tag matching the base pattern
61+ latest_tag=$(gh release list --json tagName --jq '.[].tagName' | grep "^v${base_name}" | head -n1 || echo "")
62+
63+ # Extract increment number from latest tag, or start at 1
64+ if [[ -n "$latest_tag" && $latest_tag =~ ^v${base_name}\.([0-9]+)$ ]]; then
65+ increment=$((BASH_REMATCH[1] + 1))
66+ else
67+ increment=1
68+ fi
69+
70+ # Always use .x notation
71+ release_name="${base_name}.${increment}"
72+ release_tag="v${base_name}.${increment}"
7173
7274 echo "name=$release_name" >> $GITHUB_OUTPUT
7375 echo "tag=$release_tag" >> $GITHUB_OUTPUT
You can’t perform that action at this time.
0 commit comments