From edb79a683446a9d3138ba82ac55dfd76ad23e85a Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 28 Jul 2025 20:44:19 -0500 Subject: [PATCH 1/5] ci: Switch s390x to a native job --- .github/workflows/ci.yaml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 201f9294a141a..6203b392cfc84 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -175,7 +175,6 @@ jobs: test_tier2: name: Test tier2 needs: [test_tier1, style_check] - runs-on: ubuntu-24.04 strategy: fail-fast: true max-parallel: 12 @@ -198,7 +197,6 @@ jobs: - powerpc64le-unknown-linux-gnu - powerpc64le-unknown-linux-musl - riscv64gc-unknown-linux-gnu - - s390x-unknown-linux-gnu - wasm32-unknown-emscripten - wasm32-wasip1 - wasm32-wasip2 @@ -234,6 +232,10 @@ jobs: - target: powerpc64le-unknown-linux-musl env: RUST_LIBC_UNSTABLE_MUSL_V1_2_3: 1 + - target: s390x-unknown-linux-gnu + os: ubuntu-24.04-s390x + native: true + # FIXME(ppc): SIGILL running tests, see # https://github.com/rust-lang/libc/pull/4254#issuecomment-2636288713 # - target: powerpc-unknown-linux-gnu @@ -246,6 +248,7 @@ jobs: # RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 # artifact-tag: time-bits64 timeout-minutes: 25 + runs-on: ${{ matrix.os || ubuntu-24.04 }} env: TARGET: ${{ matrix.target }} steps: @@ -263,7 +266,11 @@ jobs: jq -r 'to_entries | map("\(.key)=\(.value|tostring)") | .[]' >>$GITHUB_ENV shell: bash - - name: Execute run-docker.sh + - name: Run natively + if: "matrix.native" + run: ./ci/run.sh ${{ matrix.target }} + - name: Run in Docker + if: "!matrix.native" run: ./ci/run-docker.sh ${{ matrix.target }} - name: Create CI artifacts From 6f7166959e5372b712e44adbb869238e94ce1178 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 28 Jul 2025 20:45:56 -0500 Subject: [PATCH 2/5] skip other jobs for now --- .github/workflows/ci.yaml | 120 +++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6203b392cfc84..ce0cc39987f3b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -101,40 +101,40 @@ jobs: strategy: matrix: include: - - target: i686-unknown-linux-gnu - docker: true - os: ubuntu-24.04 - - target: i686-unknown-linux-gnu - docker: true - os: ubuntu-24.04 - artifact-tag: offset-bits64 - env: - RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS: 64 - - target: i686-unknown-linux-gnu - docker: true - os: ubuntu-24.04 - artifact-tag: time-bits64 - env: - RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 + # - target: i686-unknown-linux-gnu + # docker: true + # os: ubuntu-24.04 + # - target: i686-unknown-linux-gnu + # docker: true + # os: ubuntu-24.04 + # artifact-tag: offset-bits64 + # env: + # RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS: 64 + # - target: i686-unknown-linux-gnu + # docker: true + # os: ubuntu-24.04 + # artifact-tag: time-bits64 + # env: + # RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 - target: x86_64-unknown-linux-gnu docker: true os: ubuntu-24.04 - - target: aarch64-apple-darwin - os: macos-15 - - target: x86_64-pc-windows-gnu - os: windows-2022 - env: - ARCH_BITS: 64 - ARCH: x86_64 - - target: x86_64-pc-windows-msvc - os: windows-2022 - # FIXME: It currently causes segfaults. - #- target: i686-pc-windows-gnu - # env: - # ARCH_BITS: 32 - # ARCH: i686 - - target: i686-pc-windows-msvc - os: windows-2022 + # - target: aarch64-apple-darwin + # os: macos-15 + # - target: x86_64-pc-windows-gnu + # os: windows-2022 + # env: + # ARCH_BITS: 64 + # ARCH: x86_64 + # - target: x86_64-pc-windows-msvc + # os: windows-2022 + # # FIXME: It currently causes segfaults. + # #- target: i686-pc-windows-gnu + # # env: + # # ARCH_BITS: 32 + # # ARCH: i686 + # - target: i686-pc-windows-msvc + # os: windows-2022 runs-on: ${{ matrix.os }} timeout-minutes: 25 env: @@ -174,39 +174,39 @@ jobs: test_tier2: name: Test tier2 - needs: [test_tier1, style_check] + # needs: [test_tier1, style_check] strategy: fail-fast: true max-parallel: 12 matrix: - target: - # FIXME(sparc): this takes much longer to run than any other job, put - # it first to make sure it gets a head start. - - sparc64-unknown-linux-gnu - - aarch64-linux-android - - aarch64-unknown-linux-gnu - - aarch64-unknown-linux-musl - - arm-linux-androideabi - - arm-unknown-linux-musleabihf - # FIXME(#4297): Disabled due to spurious failueSome android jobs are disabled because of high rates of - # - i686-linux-android - - i686-unknown-linux-musl - - loongarch64-unknown-linux-gnu - - loongarch64-unknown-linux-musl - - powerpc64-unknown-linux-gnu - - powerpc64le-unknown-linux-gnu - - powerpc64le-unknown-linux-musl - - riscv64gc-unknown-linux-gnu - - wasm32-unknown-emscripten - - wasm32-wasip1 - - wasm32-wasip2 - - x86_64-linux-android - # FIXME: Exec format error (os error 8) - # - x86_64-unknown-linux-gnux32 - - x86_64-unknown-linux-musl - # FIXME: It seems some items in `src/unix/mod.rs` - # aren't defined on redox actually. - # - x86_64-unknown-redox + # target: + # # FIXME(sparc): this takes much longer to run than any other job, put + # # it first to make sure it gets a head start. + # - sparc64-unknown-linux-gnu + # - aarch64-linux-android + # - aarch64-unknown-linux-gnu + # - aarch64-unknown-linux-musl + # - arm-linux-androideabi + # - arm-unknown-linux-musleabihf + # # FIXME(#4297): Disabled due to spurious failueSome android jobs are disabled because of high rates of + # # - i686-linux-android + # - i686-unknown-linux-musl + # - loongarch64-unknown-linux-gnu + # - loongarch64-unknown-linux-musl + # - powerpc64-unknown-linux-gnu + # - powerpc64le-unknown-linux-gnu + # - powerpc64le-unknown-linux-musl + # - riscv64gc-unknown-linux-gnu + # - wasm32-unknown-emscripten + # - wasm32-wasip1 + # - wasm32-wasip2 + # - x86_64-linux-android + # # FIXME: Exec format error (os error 8) + # # - x86_64-unknown-linux-gnux32 + # - x86_64-unknown-linux-musl + # # FIXME: It seems some items in `src/unix/mod.rs` + # # aren't defined on redox actually. + # # - x86_64-unknown-redox include: - target: arm-unknown-linux-gnueabihf - target: arm-unknown-linux-gnueabihf From a0374b318f6a39fa4894653ac2361d1efa25d867 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 28 Jul 2025 20:47:06 -0500 Subject: [PATCH 3/5] quote --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ce0cc39987f3b..1e153f02354ec 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -248,7 +248,7 @@ jobs: # RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 # artifact-tag: time-bits64 timeout-minutes: 25 - runs-on: ${{ matrix.os || ubuntu-24.04 }} + runs-on: ${{ matrix.os || "ubuntu-24.04" }} env: TARGET: ${{ matrix.target }} steps: From 31fc5d9611952b7b19a114b5a7c44a5de5035748 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 28 Jul 2025 20:49:21 -0500 Subject: [PATCH 4/5] quote better --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1e153f02354ec..b8770e7590f5c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -248,7 +248,7 @@ jobs: # RUST_LIBC_UNSTABLE_GNU_TIME_BITS: 64 # artifact-tag: time-bits64 timeout-minutes: 25 - runs-on: ${{ matrix.os || "ubuntu-24.04" }} + runs-on: ${{ matrix.os || 'ubuntu-24.04' }} env: TARGET: ${{ matrix.target }} steps: From b566e55c1ecf783df668283db267ae0eee90d2b9 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 28 Jul 2025 20:52:19 -0500 Subject: [PATCH 5/5] rustup --- .github/workflows/ci.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b8770e7590f5c..301cbaa7b1481 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -252,6 +252,11 @@ jobs: env: TARGET: ${{ matrix.target }} steps: + # Native ppc and s390x runners don't have rustup by default + - name: Install rustup + if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' + run: sudo apt-get update && sudo apt-get install -y rustup + - uses: actions/checkout@v4 - name: Setup Rust toolchain run: ./ci/install-rust.sh