Skip to content

Commit b13a00c

Browse files
authored
ci(release): validate Python release tags (#17)
1 parent 0beb35c commit b13a00c

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

‎.github/workflows/release.yml‎

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ permissions:
88
contents: read
99
id-token: write
1010

11+
concurrency:
12+
group: release-${{ github.event.release.tag_name }}
13+
cancel-in-progress: false
14+
1115
jobs:
1216
release:
1317
name: Build and Publish
@@ -16,10 +20,22 @@ jobs:
1620
steps:
1721
- name: Checkout code
1822
uses: actions/checkout@v7
23+
with:
24+
ref: ${{ github.event.release.tag_name }}
1925

2026
- name: Get version from tag
2127
id: version
22-
run: echo "version=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
28+
env:
29+
RELEASE_TAG: ${{ github.event.release.tag_name }}
30+
run: |
31+
version="${RELEASE_TAG#v}"
32+
33+
if ! [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+([.-][0-9A-Za-z.-]+)?$ ]]; then
34+
echo "Release tag must look like v1.2.3 or 1.2.3, got '${RELEASE_TAG}'"
35+
exit 1
36+
fi
37+
38+
echo "version=$version" >> "$GITHUB_OUTPUT"
2339
2440
- name: Set up Python
2541
uses: actions/setup-python@v6

0 commit comments

Comments
 (0)