Skip to content

Commit c4ad642

Browse files
committed
ci: publish Metadata 2.5 distributions with uv
1 parent 4f934c7 commit c4ad642

1 file changed

Lines changed: 31 additions & 9 deletions

File tree

.github/workflows/python-release.yml

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ on:
44
push:
55
tags:
66
- "v*"
7+
workflow_dispatch:
8+
inputs:
9+
release_ref:
10+
description: Existing release tag to rebuild and publish
11+
required: true
712

813
permissions:
914
contents: read
@@ -16,6 +21,8 @@ jobs:
1621
- name: Checkout Oída
1722
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1823
with:
24+
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.release_ref || github.ref_name }}
25+
fetch-depth: 0
1926
path: oida
2027

2128
- name: Checkout AKOÚŌ contract
@@ -46,8 +53,15 @@ jobs:
4653

4754
- name: Verify release tag and project version
4855
working-directory: oida
56+
env:
57+
RELEASE_REF: ${{ github.event_name == 'workflow_dispatch' && inputs.release_ref || github.ref_name }}
4958
run: |
50-
release_version="${GITHUB_REF_NAME#v}"
59+
case "$RELEASE_REF" in
60+
v*) ;;
61+
*) echo "release_ref must name a v-prefixed release tag" >&2; exit 1 ;;
62+
esac
63+
test "$(git describe --tags --exact-match HEAD)" = "$RELEASE_REF"
64+
release_version="${RELEASE_REF#v}"
5165
project_version="$(uv version --short)"
5266
test "$release_version" = "$project_version"
5367
@@ -109,11 +123,15 @@ jobs:
109123
name: python-distributions
110124
path: release
111125

126+
- name: Install uv
127+
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
128+
112129
- name: Publish ${{ matrix.project }}
113-
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
114-
with:
115-
packages-dir: release/${{ matrix.directory }}
116-
skip-existing: true
130+
run: >-
131+
uv publish
132+
--trusted-publishing always
133+
--check-url https://pypi.org/simple
134+
"release/${{ matrix.directory }}/*"
117135
118136
publish-oida:
119137
name: Publish sonicfield-oida to PyPI
@@ -133,8 +151,12 @@ jobs:
133151
name: python-distributions
134152
path: release
135153

154+
- name: Install uv
155+
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
156+
136157
- name: Publish sonicfield-oida
137-
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
138-
with:
139-
packages-dir: release/oida
140-
skip-existing: true
158+
run: >-
159+
uv publish
160+
--trusted-publishing always
161+
--check-url https://pypi.org/simple
162+
"release/oida/*"

0 commit comments

Comments
 (0)