@@ -49,14 +49,47 @@ jobs:
4949
5050
5151 build-wheels :
52- name : Build wheels (${{ matrix.os }}, py${{ matrix.python-version }})
52+ name : Build wheels (${{ matrix.os }}, ${{ matrix.target || 'native' }}, py${{ matrix.python-version }})
5353 runs-on : ${{ matrix.os }}
5454 needs : [test-native]
5555 strategy :
5656 fail-fast : false
5757 matrix :
58- os : [ubuntu-latest, macos-latest, windows-latest]
58+ os : [ubuntu-latest, windows-latest]
5959 python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
60+ include :
61+ # macOS ARM64 (native on macos-latest which is ARM)
62+ - os : macos-latest
63+ target : aarch64-apple-darwin
64+ python-version : " 3.10"
65+ - os : macos-latest
66+ target : aarch64-apple-darwin
67+ python-version : " 3.11"
68+ - os : macos-latest
69+ target : aarch64-apple-darwin
70+ python-version : " 3.12"
71+ - os : macos-latest
72+ target : aarch64-apple-darwin
73+ python-version : " 3.13"
74+ - os : macos-latest
75+ target : aarch64-apple-darwin
76+ python-version : " 3.14"
77+ # macOS x86_64 (cross-compile from ARM runner)
78+ - os : macos-latest
79+ target : x86_64-apple-darwin
80+ python-version : " 3.10"
81+ - os : macos-latest
82+ target : x86_64-apple-darwin
83+ python-version : " 3.11"
84+ - os : macos-latest
85+ target : x86_64-apple-darwin
86+ python-version : " 3.12"
87+ - os : macos-latest
88+ target : x86_64-apple-darwin
89+ python-version : " 3.13"
90+ - os : macos-latest
91+ target : x86_64-apple-darwin
92+ python-version : " 3.14"
6093
6194 steps :
6295 - name : Checkout
@@ -71,19 +104,22 @@ jobs:
71104
72105 - name : Install Rust
73106 uses : dtolnay/rust-toolchain@stable
107+ with :
108+ targets : ${{ matrix.target }}
74109
75110 # Build typeid-python wheel (includes rust extension)
76111 - name : Build wheels (maturin)
77112 uses : PyO3/maturin-action@v1
78113 with :
79114 command : build
80- args : --release --out dist
115+ args : --release --out dist -i python${{ matrix.python-version }}
116+ target : ${{ matrix.target }}
81117 manylinux : " 2_28"
82118
83119 - name : Upload wheels
84120 uses : actions/upload-artifact@v4
85121 with :
86- name : wheels-${{ matrix.os }}-py${{ matrix.python-version }}
122+ name : wheels-${{ matrix.os }}-${{ matrix.target || 'native' }}- py${{ matrix.python-version }}
87123 path : dist/*.whl
88124
89125 build-sdist :
0 commit comments