Skip to content

Commit 1a28385

Browse files
committed
Consolidate wheel build jobs into single matrix job
Merge the separate linux, windows, and macos jobs into one build job with a matrix strategy. All entries still run in parallel.
1 parent 557e0ba commit 1a28385

1 file changed

Lines changed: 22 additions & 44 deletions

File tree

.github/workflows/release.yml

Lines changed: 22 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,31 @@ permissions:
99
contents: read
1010

1111
jobs:
12-
linux:
13-
runs-on: ubuntu-latest
14-
strategy:
15-
matrix:
16-
target: [x86_64, aarch64]
17-
steps:
18-
- uses: actions/checkout@v4
19-
- name: Build wheels
20-
uses: PyO3/maturin-action@v1
21-
with:
22-
target: ${{ matrix.target }}
23-
args: --release --out dist --find-interpreter
24-
sccache: "true"
25-
manylinux: auto
26-
- name: Upload wheels
27-
uses: actions/upload-artifact@v4
28-
with:
29-
name: wheels-linux-${{ matrix.target }}
30-
path: dist
31-
32-
windows:
12+
build:
3313
runs-on: ${{ matrix.runner }}
3414
strategy:
3515
matrix:
3616
include:
37-
- target: x64
17+
- platform: linux
18+
runner: ubuntu-latest
19+
target: x86_64
20+
manylinux: auto
21+
- platform: linux
22+
runner: ubuntu-latest
23+
target: aarch64
24+
manylinux: auto
25+
- platform: windows
3826
runner: windows-latest
39-
- target: aarch64
27+
target: x64
28+
- platform: windows
4029
runner: windows-11-arm
30+
target: aarch64
31+
- platform: macos
32+
runner: macos-latest
33+
target: x86_64
34+
- platform: macos
35+
runner: macos-latest
36+
target: aarch64
4137
steps:
4238
- uses: actions/checkout@v4
4339
- name: Build wheels
@@ -46,29 +42,11 @@ jobs:
4642
target: ${{ matrix.target }}
4743
args: --release --out dist --find-interpreter
4844
sccache: "true"
45+
manylinux: ${{ matrix.manylinux || '' }}
4946
- name: Upload wheels
5047
uses: actions/upload-artifact@v4
5148
with:
52-
name: wheels-windows-${{ matrix.target }}
53-
path: dist
54-
55-
macos:
56-
runs-on: macos-latest
57-
strategy:
58-
matrix:
59-
target: [x86_64, aarch64]
60-
steps:
61-
- uses: actions/checkout@v4
62-
- name: Build wheels
63-
uses: PyO3/maturin-action@v1
64-
with:
65-
target: ${{ matrix.target }}
66-
args: --release --out dist --find-interpreter
67-
sccache: "true"
68-
- name: Upload wheels
69-
uses: actions/upload-artifact@v4
70-
with:
71-
name: wheels-macos-${{ matrix.target }}
49+
name: wheels-${{ matrix.platform }}-${{ matrix.target }}
7250
path: dist
7351

7452
sdist:
@@ -89,7 +67,7 @@ jobs:
8967
release:
9068
name: Release
9169
runs-on: ubuntu-latest
92-
needs: [linux, windows, macos, sdist]
70+
needs: [build, sdist]
9371
permissions:
9472
id-token: write
9573
steps:

0 commit comments

Comments
 (0)