From bf4ed893ac169cf3680ca6622c420ebacc2ff534 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 21 Jul 2025 12:23:56 -0500 Subject: [PATCH 01/10] ci: Add native PowerPC64LE and s390x jobs We now have access to native runners, so make use of them for these architectures. I kept the existing Docker job for ppc64le in case of problems. --- .github/workflows/main.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 972f1b898..3362e3859 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -70,8 +70,12 @@ jobs: os: ubuntu-24.04 - target: powerpc64le-unknown-linux-gnu os: ubuntu-24.04 + - target: powerpc64le-unknown-linux-gnu + os: ubuntu-24.04-ppc64le - target: riscv64gc-unknown-linux-gnu os: ubuntu-24.04 + - target: s390x-unknown-linux-gnu + os: ubuntu-24.04-s390x - target: thumbv6m-none-eabi os: ubuntu-24.04 - target: thumbv7em-none-eabi From fb3845513178fe75c0ed019979086311c1a2574d Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 21 Jul 2025 12:31:47 -0500 Subject: [PATCH 02/10] install rustup where needed --- .github/workflows/main.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3362e3859..b642dc2b5 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -111,6 +111,12 @@ jobs: steps: - name: Print runner information run: uname -a + + # Native 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 install -y rustup + - uses: actions/checkout@v4 - name: Install Rust (rustup) shell: bash From 272d6e7da389e912313dcd4e5d44c331c48e92f8 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:21:45 +0000 Subject: [PATCH 03/10] debug $HOME --- .github/workflows/main.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index b642dc2b5..909ef23ea 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -109,6 +109,8 @@ jobs: TEST_VERBATIM: ${{ matrix.test_verbatim }} MAY_SKIP_LIBM_CI: ${{ needs.calculate_vars.outputs.may_skip_libm_ci }} steps: + - name: Print $HOME + run: echo "${HOME:-not found}" - name: Print runner information run: uname -a From c5dcc5370f56725af40c2cf3047e078270769e72 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:26:11 +0000 Subject: [PATCH 04/10] pwd --- .github/workflows/main.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 909ef23ea..c271b7fec 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -110,7 +110,12 @@ jobs: MAY_SKIP_LIBM_CI: ${{ needs.calculate_vars.outputs.may_skip_libm_ci }} steps: - name: Print $HOME - run: echo "${HOME:-not found}" + shell: bash + run: | + set -x + echo "${HOME:-not found}" + pwd + printenv - name: Print runner information run: uname -a From 60131d260a86c4101a658d6d1387f54a11fd11db Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:31:58 +0000 Subject: [PATCH 05/10] manually set home --- .github/workflows/main.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index c271b7fec..9af02090f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -119,6 +119,13 @@ jobs: - name: Print runner information run: uname -a + # ppc/s390x runners don't have HOME set + - name: Set $HOME + if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' + run: | + set -x + echo "HOME=$(realpath ~)" >> "$GITHUB_ENV" + # Native runners don't have rustup by default - name: Install rustup if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' From 839cd352cd4b496cf9852d17cdb87e17a4666c24 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:43:05 +0000 Subject: [PATCH 06/10] don't install nextest --- .github/workflows/main.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 9af02090f..8a191f2a3 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -142,6 +142,7 @@ jobs: rustup default "$channel" rustup target add "${{ matrix.target }}" - uses: taiki-e/install-action@nextest + if: "!(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')" - uses: Swatinem/rust-cache@v2 with: key: ${{ matrix.target }} @@ -335,8 +336,8 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - name: Install nightly `rustfmt` - run: rustup set profile minimal && rustup default nightly && rustup component add rustfmt + - name: Install stable `rustfmt` + run: rustup set profile minimal && rustup default stable && rustup component add rustfmt - run: cargo fmt -- --check extensive: From 391a23633503ff2d5ff00d59fe00c620b6f72256 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:56:37 +0000 Subject: [PATCH 07/10] try not setting home --- .github/workflows/main.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 8a191f2a3..a9605284f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -119,12 +119,12 @@ jobs: - name: Print runner information run: uname -a - # ppc/s390x runners don't have HOME set - - name: Set $HOME - if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' - run: | - set -x - echo "HOME=$(realpath ~)" >> "$GITHUB_ENV" + # # ppc/s390x runners don't have HOME set + # - name: Set $HOME + # if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' + # run: | + # set -x + # echo "HOME=$(realpath ~)" >> "$GITHUB_ENV" # Native runners don't have rustup by default - name: Install rustup From 1f3b8892df808f60e5127ea97c9c7b87ccf42651 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 00:57:42 +0000 Subject: [PATCH 08/10] drop accidental rustfmt picks --- .github/workflows/main.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index a9605284f..7d33ef3b1 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -336,8 +336,8 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - name: Install stable `rustfmt` - run: rustup set profile minimal && rustup default stable && rustup component add rustfmt + - name: Install nightly `rustfmt` + run: rustup set profile minimal && rustup default nightly && rustup component add rustfmt - run: cargo fmt -- --check extensive: From 7f758c6caa84dff115761fd57bc5abc4033468a6 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 02:52:59 -0500 Subject: [PATCH 09/10] update --- .github/workflows/main.yaml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 7d33ef3b1..a46b0500d 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -119,13 +119,6 @@ jobs: - name: Print runner information run: uname -a - # # ppc/s390x runners don't have HOME set - # - name: Set $HOME - # if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' - # run: | - # set -x - # echo "HOME=$(realpath ~)" >> "$GITHUB_ENV" - # Native runners don't have rustup by default - name: Install rustup if: matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x' @@ -141,8 +134,12 @@ jobs: rustup update "$channel" --no-self-update rustup default "$channel" rustup target add "${{ matrix.target }}" + + # Our scripts use nextest if possible. This is skipped on the native ppc + # and s390x runners since install-action doesn't support them. - uses: taiki-e/install-action@nextest if: "!(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')" + - uses: Swatinem/rust-cache@v2 with: key: ${{ matrix.target }} From 4cdc66e8c753c92ea2c975105d15faef9c965b9f Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 23 Jul 2025 02:54:34 -0500 Subject: [PATCH 10/10] update comments --- .github/workflows/main.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index a46b0500d..6c98a60d2 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -119,10 +119,10 @@ jobs: - name: Print runner information run: uname -a - # Native runners don't have rustup by default + # 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 install -y rustup + run: sudo apt-get update && sudo apt-get install -y rustup - uses: actions/checkout@v4 - name: Install Rust (rustup) @@ -135,7 +135,7 @@ jobs: rustup default "$channel" rustup target add "${{ matrix.target }}" - # Our scripts use nextest if possible. This is skipped on the native ppc + # Our scripts use nextest if possible. This is skipped on the native ppc # and s390x runners since install-action doesn't support them. - uses: taiki-e/install-action@nextest if: "!(matrix.os == 'ubuntu-24.04-ppc64le' || matrix.os == 'ubuntu-24.04-s390x')"