@@ -133,56 +133,6 @@ jobs:
133133 name : dist
134134 path : ${{ needs.prepare.outputs.package_path }}/dist/
135135
136- # ============================================================================
137- # Publish to TestPyPI (for validation)
138- # ============================================================================
139- publish-testpypi :
140- name : Publish to TestPyPI
141- runs-on : ubuntu-latest
142- needs : [prepare, build]
143- if : needs.prepare.outputs.dry_run == 'false'
144- environment : testpypi
145- permissions :
146- id-token : write
147- steps :
148- - name : Download artifacts
149- uses : actions/download-artifact@v4
150- with :
151- name : dist
152- path : dist/
153-
154- - name : Publish to TestPyPI
155- uses : pypa/gh-action-pypi-publish@release/v1
156- with :
157- repository-url : https://test.pypi.org/legacy/
158- skip-existing : true
159- password : ${{ secrets.TESTPYPI_API_TOKEN }}
160- # Uses OIDC trusted publishing if TESTPYPI_API_TOKEN is not set
161-
162- # ============================================================================
163- # Publish to PyPI (production)
164- # ============================================================================
165- publish-pypi :
166- name : Publish to PyPI
167- runs-on : ubuntu-latest
168- needs : [prepare, build, publish-testpypi]
169- if : needs.prepare.outputs.dry_run == 'false'
170- environment : pypi
171- permissions :
172- id-token : write
173- steps :
174- - name : Download artifacts
175- uses : actions/download-artifact@v4
176- with :
177- name : dist
178- path : dist/
179-
180- - name : Publish to PyPI
181- uses : pypa/gh-action-pypi-publish@release/v1
182- with :
183- skip-existing : true
184- password : ${{ secrets.PYPI_API_TOKEN }}
185- # Uses OIDC trusted publishing if PYPI_API_TOKEN is not set
186136
187137 # ============================================================================
188138 # Create GitHub Release
0 commit comments