@@ -28,38 +28,60 @@ jobs:
28
28
strategy :
29
29
matrix :
30
30
platform :
31
- - runner : ubuntu-22 .04
31
+ - runner : ubuntu-24 .04
32
32
target : x86_64
33
- - runner : ubuntu-22 .04
33
+ - runner : ubuntu-24 .04
34
34
target : x86
35
- - runner : ubuntu-22 .04
35
+ - runner : ubuntu-24 .04
36
36
target : aarch64
37
- - runner : ubuntu-22.04
38
- target : armv7
39
- - runner : ubuntu-22.04
40
- target : s390x
41
- - runner : ubuntu-22.04
42
- target : ppc64le
43
37
steps :
38
+ - run : sudo apt-get update && sudo apt-get install -y build-essential
44
39
- uses : actions/checkout@v4
40
+ with :
41
+ submodules : ' recursive'
45
42
- run : cd minimappers2
46
43
- uses : actions/setup-python@v5
47
44
with :
48
45
python-version : 3.x
46
+
47
+ # Conditionally install AArch64 cross-compiler and libraries
48
+ - name : Install AArch64 Cross-Compiler and Libraries
49
+ if : matrix.platform.target == 'aarch64'
50
+ run : |
51
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
52
+ sudo apt-get update
53
+ sudo apt-get install -y gcc-13-aarch64-linux-gnu gcc-13-aarch64-linux-gnu g++-13-aarch64-linux-gnu libc6-dev-arm64-cross
54
+
55
+ # Add the AArch64 Rust target
56
+ - name : Add AArch64 Rust Target
57
+ if : matrix.platform.target == 'aarch64'
58
+ run : rustup target add aarch64-unknown-linux-gnu
59
+
60
+ # Set environment variables for cross-compilation
61
+ # - name: Set Environment Variables for AArch64
62
+ # if: matrix.platform.target == 'aarch64'
63
+ # run: |
64
+ # echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc-13" >> $GITHUB_ENV
65
+ # echo "CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc-13" >> $GITHUB_ENV
66
+ # echo "CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++-13" >> $GITHUB_ENV
67
+
68
+
49
69
- name : Build wheels
50
70
uses : PyO3/maturin-action@v1
51
71
with :
52
72
target : ${{ matrix.platform.target }}
53
73
args : --release --out dist
54
74
sccache : ' true'
55
75
manylinux : auto
56
- - name : Build free-threaded wheels
57
- uses : PyO3/maturin-action@v1
58
- with :
59
- target : ${{ matrix.platform.target }}
60
- args : --release --out dist -i python3.13t
61
- sccache : ' true'
62
- manylinux : auto
76
+ working-directory : " minimappers2"
77
+ # - name: Build free-threaded wheels
78
+ # uses: PyO3/maturin-action@v1
79
+ # with:
80
+ # target: ${{ matrix.platform.target }}
81
+ # args: --release --out dist -i python3.13t
82
+ # sccache: 'true'
83
+ # manylinux: auto
84
+ # working-directory: "minimappers2"
63
85
- name : Upload wheels
64
86
uses : actions/upload-artifact@v4
65
87
with :
@@ -71,16 +93,17 @@ jobs:
71
93
strategy :
72
94
matrix :
73
95
platform :
74
- - runner : ubuntu-22 .04
96
+ - runner : ubuntu-24 .04
75
97
target : x86_64
76
- - runner : ubuntu-22 .04
98
+ - runner : ubuntu-24 .04
77
99
target : x86
78
- - runner : ubuntu-22 .04
100
+ - runner : ubuntu-24 .04
79
101
target : aarch64
80
- - runner : ubuntu-22.04
81
- target : armv7
82
102
steps :
103
+ - run : sudo apt-get update && sudo apt-get install -y build-essential musl-tools
83
104
- uses : actions/checkout@v4
105
+ with :
106
+ submodules : ' recursive'
84
107
- run : cd minimappers2
85
108
- uses : actions/setup-python@v5
86
109
with :
@@ -92,13 +115,15 @@ jobs:
92
115
args : --release --out dist
93
116
sccache : ' true'
94
117
manylinux : musllinux_1_2
95
- - name : Build free-threaded wheels
96
- uses : PyO3/maturin-action@v1
97
- with :
98
- target : ${{ matrix.platform.target }}
99
- args : --release --out dist -i python3.13t
100
- sccache : ' true'
101
- manylinux : musllinux_1_2
118
+ working-directory : " minimappers2"
119
+ # - name: Build free-threaded wheels
120
+ # uses: PyO3/maturin-action@v1
121
+ # with:
122
+ # target: ${{ matrix.platform.target }}
123
+ # args: --release --out dist -i python3.13t
124
+ # sccache: 'true'
125
+ # manylinux: musllinux_1_2
126
+ # working-directory: "minimappers2"
102
127
- name : Upload wheels
103
128
uses : actions/upload-artifact@v4
104
129
with :
@@ -118,6 +143,8 @@ jobs:
118
143
target : aarch64
119
144
steps :
120
145
- uses : actions/checkout@v4
146
+ with :
147
+ submodules : ' recursive'
121
148
- run : cd minimappers2
122
149
- uses : actions/setup-python@v5
123
150
with :
@@ -128,12 +155,14 @@ jobs:
128
155
target : ${{ matrix.platform.target }}
129
156
args : --release --out dist
130
157
sccache : ' true'
131
- - name : Build free-threaded wheels
132
- uses : PyO3/maturin-action@v1
133
- with :
134
- target : ${{ matrix.platform.target }}
135
- args : --release --out dist -i python3.13t
136
- sccache : ' true'
158
+ working-directory : " minimappers2"
159
+ # - name: Build free-threaded wheels
160
+ # uses: PyO3/maturin-action@v1
161
+ # with:
162
+ # target: ${{ matrix.platform.target }}
163
+ # args: --release --out dist -i python3.13t
164
+ # sccache: 'true'
165
+ # working-directory: "minimappers2"
137
166
- name : Upload wheels
138
167
uses : actions/upload-artifact@v4
139
168
with :
@@ -143,12 +172,16 @@ jobs:
143
172
sdist :
144
173
runs-on : ubuntu-latest
145
174
steps :
175
+ - run : sudo apt-get update && sudo apt-get install -y build-essential
146
176
- uses : actions/checkout@v4
177
+ with :
178
+ submodules : ' recursive'
147
179
- run : cd minimappers2
148
180
- name : Build sdist
149
181
uses : PyO3/maturin-action@v1
150
182
with :
151
183
command : sdist
184
+ working-directory : " minimappers2"
152
185
args : --out dist
153
186
- name : Upload sdist
154
187
uses : actions/upload-artifact@v4
@@ -169,6 +202,7 @@ jobs:
169
202
# Used to generate artifact attestation
170
203
attestations : write
171
204
steps :
205
+ - run : sudo apt-get update && sudo apt-get install -y build-essential
172
206
- uses : actions/download-artifact@v4
173
207
- run : cd minimappers2
174
208
- name : Generate artifact attestation
@@ -181,5 +215,6 @@ jobs:
181
215
env :
182
216
MATURIN_PYPI_TOKEN : ${{ secrets.PYPI_TOKEN }}
183
217
with :
218
+ working-directory : " minimappers2"
184
219
command : upload
185
220
args : --non-interactive --skip-existing wheels-*/*
0 commit comments