Skip to content

Commit 6dd28cb

Browse files
committed
chore: update release name pattern: YYYY-MM.X
1 parent 5dff302 commit 6dd28cb

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

.github/workflows/release.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)