@@ -28,38 +28,60 @@ jobs:
2828 strategy :
2929 matrix :
3030 platform :
31- - runner : ubuntu-22 .04
31+ - runner : ubuntu-24 .04
3232 target : x86_64
33- - runner : ubuntu-22 .04
33+ - runner : ubuntu-24 .04
3434 target : x86
35- - runner : ubuntu-22 .04
35+ - runner : ubuntu-24 .04
3636 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
4337 steps :
38+ - run : sudo apt-get update && sudo apt-get install -y build-essential
4439 - uses : actions/checkout@v4
40+ with :
41+ submodules : ' recursive'
4542 - run : cd minimappers2
4643 - uses : actions/setup-python@v5
4744 with :
4845 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+
4969 - name : Build wheels
5070 uses : PyO3/maturin-action@v1
5171 with :
5272 target : ${{ matrix.platform.target }}
5373 args : --release --out dist
5474 sccache : ' true'
5575 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"
6385 - name : Upload wheels
6486 uses : actions/upload-artifact@v4
6587 with :
@@ -71,16 +93,17 @@ jobs:
7193 strategy :
7294 matrix :
7395 platform :
74- - runner : ubuntu-22 .04
96+ - runner : ubuntu-24 .04
7597 target : x86_64
76- - runner : ubuntu-22 .04
98+ - runner : ubuntu-24 .04
7799 target : x86
78- - runner : ubuntu-22 .04
100+ - runner : ubuntu-24 .04
79101 target : aarch64
80- - runner : ubuntu-22.04
81- target : armv7
82102 steps :
103+ - run : sudo apt-get update && sudo apt-get install -y build-essential musl-tools
83104 - uses : actions/checkout@v4
105+ with :
106+ submodules : ' recursive'
84107 - run : cd minimappers2
85108 - uses : actions/setup-python@v5
86109 with :
@@ -92,13 +115,15 @@ jobs:
92115 args : --release --out dist
93116 sccache : ' true'
94117 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"
102127 - name : Upload wheels
103128 uses : actions/upload-artifact@v4
104129 with :
@@ -118,6 +143,8 @@ jobs:
118143 target : aarch64
119144 steps :
120145 - uses : actions/checkout@v4
146+ with :
147+ submodules : ' recursive'
121148 - run : cd minimappers2
122149 - uses : actions/setup-python@v5
123150 with :
@@ -128,12 +155,14 @@ jobs:
128155 target : ${{ matrix.platform.target }}
129156 args : --release --out dist
130157 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"
137166 - name : Upload wheels
138167 uses : actions/upload-artifact@v4
139168 with :
@@ -143,12 +172,16 @@ jobs:
143172 sdist :
144173 runs-on : ubuntu-latest
145174 steps :
175+ - run : sudo apt-get update && sudo apt-get install -y build-essential
146176 - uses : actions/checkout@v4
177+ with :
178+ submodules : ' recursive'
147179 - run : cd minimappers2
148180 - name : Build sdist
149181 uses : PyO3/maturin-action@v1
150182 with :
151183 command : sdist
184+ working-directory : " minimappers2"
152185 args : --out dist
153186 - name : Upload sdist
154187 uses : actions/upload-artifact@v4
@@ -169,6 +202,7 @@ jobs:
169202 # Used to generate artifact attestation
170203 attestations : write
171204 steps :
205+ - run : sudo apt-get update && sudo apt-get install -y build-essential
172206 - uses : actions/download-artifact@v4
173207 - run : cd minimappers2
174208 - name : Generate artifact attestation
@@ -181,5 +215,6 @@ jobs:
181215 env :
182216 MATURIN_PYPI_TOKEN : ${{ secrets.PYPI_TOKEN }}
183217 with :
218+ working-directory : " minimappers2"
184219 command : upload
185220 args : --non-interactive --skip-existing wheels-*/*
0 commit comments