Skip to content

Commit c5ff6d0

Browse files
committed
GitHub Actions: create release workflow
1 parent dcb4cf8 commit c5ff6d0

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

.github/workflows/release.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Create Release Artifacts
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
id-token: write
11+
attestations: write
12+
13+
jobs:
14+
artifacts:
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 5
17+
18+
steps:
19+
- name: checkout code
20+
uses: actions/checkout@v4
21+
22+
- name: set up uv
23+
uses: astral-sh/setup-uv@v6
24+
25+
- name: Build wheel
26+
run: |
27+
uv venv venv-test
28+
. venv-test/bin/activate
29+
uv build --wheel --sdist
30+
31+
- name: Attest build provenance
32+
uses: actions/attest-build-provenance@v1
33+
with:
34+
subject-path: "dist/*"
35+
36+
- name: upload release artifacts
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: "release-artifacts"
40+
path: dist/*
41+
if-no-files-found: error
42+
43+
- name: Prepare release metadata
44+
run: |
45+
echo "TAG_NAME=${GITHUB_REF_NAME}" >> "$GITHUB_ENV"
46+
echo "RELEASE_NAME=${GITHUB_REF_NAME#v}" >> "$GITHUB_ENV"
47+
48+
- name: Create or update GitHub release
49+
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
50+
with:
51+
tag_name: ${{ env.TAG_NAME }}
52+
name: ${{ env.RELEASE_NAME }}
53+
files: dist/*
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)