Skip to content

Commit 6360900

Browse files
author
evgenii
committed
CI: skip win_arm64 for tests, add final publish block
1 parent d311ce4 commit 6360900

File tree

1 file changed

+58
-7
lines changed

1 file changed

+58
-7
lines changed

.github/workflows/wheels.yml

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
# Note: M1 images on Github Actions start from macOS 14
101101
- [macos-14, macosx_arm64]
102102
- [windows-2022, win_amd64]
103-
- [windows-11-arm, win_arm64]
103+
# - [windows-11-arm, win_arm64]
104104
# TODO: support PyPy?
105105
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
106106
include:
@@ -110,12 +110,13 @@ jobs:
110110
- buildplat: [ubuntu-24.04, pyodide_wasm32]
111111
python: ["cp312", "3.12"]
112112
cibw_build_frontend: 'build'
113-
exclude:
114-
- buildplat: [windows-11-arm, win_arm64]
115-
python: ["cp310", "3.10"]
116-
# BackendUnavailable: Cannot import 'mesonpy'
117-
- buildplat: [windows-11-arm, win_arm64]
118-
python: ["cp313t", "3.13"]
113+
# TEMP: exclude block no longer needed when win_arm64 is commented
114+
# exclude:
115+
# - buildplat: [windows-11-arm, win_arm64]
116+
# python: ["cp310", "3.10"]
117+
# # BackendUnavailable: Cannot import 'mesonpy'
118+
# - buildplat: [windows-11-arm, win_arm64]
119+
# python: ["cp313t", "3.13"]
119120

120121
env:
121122
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
@@ -219,3 +220,53 @@ jobs:
219220
source ci/upload_wheels.sh
220221
set_upload_vars
221222
upload_wheels
223+
224+
publish:
225+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
226+
needs:
227+
- build_sdist
228+
- build_wheels
229+
runs-on: ubuntu-latest
230+
231+
# ---------- current TEST settings ----------
232+
environment:
233+
name: testpypi # keep while testing
234+
# ---------- FINAL settings (uncomment) ----------
235+
# environment:
236+
# name: pypi # ← enable for PyPI
237+
238+
permissions:
239+
id-token: write # OIDC token for Trusted Publishing
240+
contents: read
241+
242+
steps:
243+
# 1. Pull every artifact produced by the two upstream jobs
244+
- name: Download all artifacts
245+
uses: actions/download-artifact@v4
246+
with:
247+
path: dist # all files land in ./dist/**
248+
249+
# 2. Move wheels & sdist into a flat 'upload' dir (skip Pyodide wheels)
250+
- name: Collect files
251+
run: |
252+
mkdir -p upload
253+
# skip anything containing 'pyodide' in the filename
254+
find dist -name '*pyodide*.whl' -prune -o \
255+
-name '*.whl' -exec mv {} upload/ \;
256+
find dist -name '*.tar.gz' -exec mv {} upload/ \;
257+
258+
# 3. Publish to TestPyPI using Trusted Publishing
259+
- name: Publish to TestPyPI (Trusted Publishing)
260+
uses: pypa/gh-action-pypi-publish@release/v1
261+
with:
262+
repository-url: https://test.pypi.org/legacy/ # test endpoint
263+
packages-dir: upload
264+
skip-existing: true
265+
266+
# ---------- FINAL publish block (uncomment, remove test one above) ----------
267+
# - name: Publish to PyPI (Trusted Publishing) # ← enable for PyPI
268+
# uses: pypa/gh-action-pypi-publish@release/v1
269+
# with:
270+
# repository-url: https://upload.pypi.org/legacy/ # ← production endpoint
271+
# packages-dir: upload
272+
# # skip-existing: true # ← remove for production

0 commit comments

Comments
 (0)