9898 extra_desc : cuda12.8
9999 # # M1 CPU
100100 - os : macos-14
101+ - os : macos-15-intel
101102 - os : windows-2022
102103 cuda : " 12.8"
103104 # Oldest supported version, keep in sync with README.md
@@ -240,6 +241,8 @@ jobs:
240241 target : s390x-unknown-linux-musl
241242 container : ' {"image": "messense/rust-musl-cross:s390x-musl"}'
242243 lto : " false"
244+ - os : ubuntu-22.04
245+ target : s390x-unknown-linux-gnu
243246 - os : ubuntu-22.04
244247 target : riscv64gc-unknown-linux-musl
245248 container : ' {"image": "messense/rust-musl-cross:riscv64gc-musl"}'
@@ -261,6 +264,9 @@ jobs:
261264 - os : macos-14
262265 target : aarch64-apple-darwin
263266 macosx_deployment_target : 11.0
267+ - os : macos-15-intel
268+ target : x86_64-apple-darwin
269+ macosx_deployment_target : 11.0
264270 - os : windows-2022
265271 target : x86_64-pc-windows-msvc
266272 rustflags : -Ctarget-feature=+crt-static
@@ -277,7 +283,29 @@ jobs:
277283 toolchain : ${{ matrix.target == 'aarch64-apple-darwin' && 'beta' || 'stable' }}
278284 target : ${{ matrix.target }}
279285 if : ${{ !matrix.container }}
280-
286+
287+ - name : Install s390x cross-compilation toolchain
288+ if : ${{ matrix.target == 's390x-unknown-linux-gnu' }}
289+ run : |
290+ sudo apt-get update
291+ sudo apt-get install -y gcc-s390x-linux-gnu g++-s390x-linux-gnu
292+ mkdir -p .cargo
293+ cat >> .cargo/config.toml <<EOF
294+ [target.s390x-unknown-linux-gnu]
295+ linker = "s390x-linux-gnu-gcc"
296+ EOF
297+
298+ - name : Install rust-src for s390x-musl
299+ if : ${{ matrix.target == 's390x-unknown-linux-musl' }}
300+ run : |
301+ # Remove corrupted nightly toolchain if it exists
302+ rustup toolchain uninstall nightly || true
303+ # Clean up any leftover files
304+ rm -rf ~/.rustup/toolchains/nightly-* || true
305+ # Install fresh nightly with minimal profile
306+ rustup toolchain install nightly --profile minimal
307+ rustup component add rust-src --toolchain nightly
308+
281309 - name : fix build openssl error on s390x
282310 if : ${{ matrix.target == 's390x-unknown-linux-musl' }}
283311 run : |
@@ -286,13 +314,24 @@ jobs:
286314 echo CXXFLAGS="$CFLAGS" >> $GITHUB_ENV
287315 echo RUSTFLAGS="-C target-cpu=z10" >> $GITHUB_ENV
288316
317+ - name : Build (s390x-musl with build-std)
318+ if : ${{ matrix.target == 's390x-unknown-linux-musl' }}
319+ run : cargo +nightly build --locked --release --bin ${{ matrix.binary || 'sccache' }} --target ${{ matrix.target }} --features=openssl/vendored ${{ matrix.extra_args }} -Zbuild-std
320+ env :
321+ MACOSX_DEPLOYMENT_TARGET : ${{ matrix.macosx_deployment_target }}
322+ DEVELOPER_DIR : ${{ matrix.developer_dir }}
323+ SDKROOT : ${{ matrix.sdkroot }}
324+ RUSTFLAGS : ${{ env.RUSTFLAGS || matrix.rustflags }}
325+ CARGO_PROFILE_RELEASE_LTO : ${{ matrix.lto || 'true' }}
326+
289327 - name : Build
328+ if : ${{ matrix.target != 's390x-unknown-linux-musl' }}
290329 run : cargo build --locked --release --bin ${{ matrix.binary || 'sccache' }} --target ${{ matrix.target }} --features=openssl/vendored ${{ matrix.extra_args }}
291330 env :
292331 MACOSX_DEPLOYMENT_TARGET : ${{ matrix.macosx_deployment_target }}
293332 DEVELOPER_DIR : ${{ matrix.developer_dir }}
294333 SDKROOT : ${{ matrix.sdkroot }}
295- RUSTFLAGS : ${{ matrix.rustflags }}
334+ RUSTFLAGS : ${{ env.RUSTFLAGS || matrix.rustflags }}
296335 CARGO_PROFILE_RELEASE_LTO : ${{ matrix.lto || 'true' }}
297336
298337 # Workaround for the lack of substring() function in github actions expressions.
0 commit comments