11name : Publish Python SDK
22
3- # This workflow builds native Python wheels and uploads them to GitHub Releases.
4- # The bootstrap package (a3s-code) is published to PyPI and downloads wheels
5- # from GitHub Releases at runtime - NO native wheels are included in the PyPI package.
3+ # This workflow builds native Python wheels, uploads them to GitHub Releases,
4+ # and publishes the wheels to PyPI.
65
76on :
87 workflow_call :
@@ -89,42 +88,13 @@ jobs:
8988 path : dist/*.whl
9089 if-no-files-found : error
9190
92- # ─────────────────────────────────────────────────────────────────
93- # Build bootstrap package
94- # This is published to PyPI - it downloads wheels from GitHub Releases
95- # ─────────────────────────────────────────────────────────────────
96- build-bootstrap :
97- name : Build bootstrap package
98- runs-on : ubuntu-latest
99- steps :
100- - uses : actions/checkout@v4
101-
102- - name : Setup Python
103- uses : actions/setup-python@v5
104- with :
105- python-version : " 3.12"
106-
107- - name : Build bootstrap dist
108- run : |
109- python -m pip install --upgrade pip build
110- python -m build sdk/python-bootstrap --outdir sdk/python-bootstrap/dist
111-
112- - name : Upload bootstrap dist
113- uses : actions/upload-artifact@v4
114- with :
115- name : python-bootstrap-dist
116- path : sdk/python-bootstrap/dist/*
117- if-no-files-found : error
118-
11991 # ─────────────────────────────────────────────────────────────────
12092 # Publish to GitHub Releases and PyPI
12193 # ─────────────────────────────────────────────────────────────────
12294 publish :
12395 name : Publish Python SDK
12496 runs-on : ubuntu-latest
125- needs :
126- - build
127- - build-bootstrap
97+ needs : build
12898 steps :
12999 - uses : actions/checkout@v4
130100
@@ -135,12 +105,6 @@ jobs:
135105 path : dist
136106 merge-multiple : true
137107
138- - name : Download bootstrap dist
139- uses : actions/download-artifact@v4
140- with :
141- name : python-bootstrap-dist
142- path : bootstrap-dist
143-
144108 - name : List wheels
145109 run : ls -la dist/
146110
@@ -173,12 +137,11 @@ jobs:
173137 run : |
174138 gh release upload "$GITHUB_REF_NAME" dist/python-native-manifest.json --clobber
175139
176- # Publish bootstrap package to PyPI
177- # This package downloads wheels from GitHub Releases at runtime
178- - name : Publish bootstrap to PyPI
140+ # Publish native wheels to PyPI
141+ - name : Publish wheels to PyPI
179142 env :
180143 TWINE_USERNAME : __token__
181144 TWINE_PASSWORD : ${{ secrets.PYPI_NATIVE_TOKEN }}
182145 run : |
183146 python -m pip install --upgrade pip twine
184- python -m twine upload --skip-existing bootstrap- dist/*
147+ python -m twine upload --skip-existing dist/*.whl
0 commit comments