Skip to content

Commit 84f7c8d

Browse files
authored
Merge branch 'main' into main
2 parents 307b270 + 82bfa28 commit 84f7c8d

47 files changed

Lines changed: 1264 additions & 809 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/benchmarks.yml

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,13 @@ concurrency:
1818

1919
jobs:
2020
benchmarks:
21-
name: Run performance benchmarks (CodSpeed)
21+
name: Run ${{ matrix.mode }} benchmarks (CodSpeed)
2222
runs-on: ubuntu-latest
23+
strategy:
24+
matrix:
25+
mode:
26+
- simulation
27+
- memory
2328
steps:
2429
- uses: actions/checkout@v6
2530
with:
@@ -37,40 +42,11 @@ jobs:
3742
shell: bash
3843
run: cargo codspeed build
3944

40-
- name: Run performance benchmarks
45+
- name: Run benchmarks
4146
uses: CodSpeedHQ/action@v4
4247
env:
4348
CODSPEED_LOG: debug
4449
with:
45-
mode: simulation
46-
run: cargo codspeed run > /dev/null
47-
token: ${{ secrets.CODSPEED_TOKEN }}
48-
49-
memory-benchmarks:
50-
name: Run memory benchmarks (CodSpeed)
51-
runs-on: ubuntu-latest
52-
steps:
53-
- uses: actions/checkout@v6
54-
with:
55-
persist-credentials: false
56-
57-
- uses: dtolnay/rust-toolchain@stable
58-
59-
- uses: Swatinem/rust-cache@v2
60-
61-
- name: Install cargo-codspeed
62-
shell: bash
63-
run: cargo install cargo-codspeed --locked
64-
65-
- name: Build benchmarks for memory analysis
66-
shell: bash
67-
run: cargo codspeed build -m analysis
68-
69-
- name: Run memory benchmarks
70-
uses: CodSpeedHQ/action@v4
71-
env:
72-
CODSPEED_LOG: debug
73-
with:
74-
mode: memory
50+
mode: ${{ matrix.mode }}
7551
run: cargo codspeed run > /dev/null
7652
token: ${{ secrets.CODSPEED_TOKEN }}

.github/workflows/ci.yml

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ jobs:
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

Comments
 (0)