https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/155274
>From 57697a66cfdddf2028c7260f1ce61ecacc550d00 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 17:15:36 +0000 Subject: [PATCH 01/55] Add AArch64 support to the premerge tests --- .github/workflows/premerge.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 9d925517a7211..6d83573702a79 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -28,7 +28,13 @@ jobs: if: >- github.repository_owner == 'llvm' && (github.event_name != 'pull_request' || github.event.action != 'closed') - runs-on: llvm-premerge-linux-runners + matrix: + runs-on: + - llvm-premerge-linux-runners + - depot-ubuntu-24.04-arm-64 + runs-on: ${{ matrix.runs-on }} + container: + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && "ghcr.io/$GITHUB_REPOSITORY_OWNER/arm64v8/ci-ubuntu-24.04-agent" ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 8ba375b2d80614f4a769af1b417bf21f1712786c Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 17:20:38 +0000 Subject: [PATCH 02/55] Fix typo --- .github/workflows/premerge.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 6d83573702a79..f88dbc6143ab4 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -28,10 +28,11 @@ jobs: if: >- github.repository_owner == 'llvm' && (github.event_name != 'pull_request' || github.event.action != 'closed') - matrix: - runs-on: - - llvm-premerge-linux-runners - - depot-ubuntu-24.04-arm-64 + strategy: + matrix: + runs-on: + - llvm-premerge-linux-runners + - depot-ubuntu-24.04-arm-64 runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && "ghcr.io/$GITHUB_REPOSITORY_OWNER/arm64v8/ci-ubuntu-24.04-agent" ) || null }} >From af39d1af7635196606ceaeff6a2cf1db72e142e4 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 17:21:51 +0000 Subject: [PATCH 03/55] Fix quotes --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index f88dbc6143ab4..914713bb4a352 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - depot-ubuntu-24.04-arm-64 runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && "ghcr.io/$GITHUB_REPOSITORY_OWNER/arm64v8/ci-ubuntu-24.04-agent" ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && 'ghcr.io/$GITHUB_REPOSITORY_OWNER/arm64v8/ci-ubuntu-24.04-agent' ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 0330faf41115cab59d8667dbe77bf9414ea3455c Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 17:24:18 +0000 Subject: [PATCH 04/55] Fix container name --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 914713bb4a352..edb7248d792fe 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - depot-ubuntu-24.04-arm-64 runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && 'ghcr.io/$GITHUB_REPOSITORY_OWNER/arm64v8/ci-ubuntu-24.04-agent' ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{}/arm64v8/ci-ubuntu-24.04-agent',github.repository_owner) ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 0492ee60484cd594f80b6cadcb7ebc5755b6710c Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 17:29:25 +0000 Subject: [PATCH 05/55] Fix format string --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index edb7248d792fe..28d79518bc1df 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - depot-ubuntu-24.04-arm-64 runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{}/arm64v8/ci-ubuntu-24.04-agent',github.repository_owner) ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04-agent',github.repository_owner) ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 493970e0713105bf8fa11ac120e04031366dc9fd Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 18:54:40 +0000 Subject: [PATCH 06/55] Drop cpus --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 28d79518bc1df..061e00294ee5f 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,7 +32,7 @@ jobs: matrix: runs-on: - llvm-premerge-linux-runners - - depot-ubuntu-24.04-arm-64 + - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04-agent',github.repository_owner) ) || null }} >From 7a419796b746f1facba1731f07abd947e7641f2a Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:02:41 +0000 Subject: [PATCH 07/55] Debug --- .github/workflows/premerge.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 061e00294ee5f..404640fd960a8 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -43,6 +43,7 @@ jobs: fetch-depth: 2 - name: Build and Test run: | + cat $0 git config --global --add safe.directory '*' source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From 25c28a128fee05d2ff1db7fcd854e54275199b99 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:12:17 +0000 Subject: [PATCH 08/55] change containre --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 404640fd960a8..de13c596d6ebc 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04-agent',github.repository_owner) ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 766987cf1664dbb5df2beaec23cce37231c9b2b4 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:16:45 +0000 Subject: [PATCH 09/55] Use standard runners --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index de13c596d6ebc..b90a0c436c44f 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,7 +32,7 @@ jobs: matrix: runs-on: - llvm-premerge-linux-runners - - depot-ubuntu-24.04-arm-4 + - ubuntu-24.04-arm runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} >From 5f12fa20044740c157b0440127fae38390ea211d Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:33:21 +0000 Subject: [PATCH 10/55] Drop containe --- .github/workflows/premerge.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index b90a0c436c44f..41c1307feb143 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -33,9 +33,8 @@ jobs: runs-on: - llvm-premerge-linux-runners - ubuntu-24.04-arm + - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} - container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 31393e3f957aea5850d82a7c3b675f4c6952bac1 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:41:11 +0000 Subject: [PATCH 11/55] Debug image --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 41c1307feb143..02dce133a8010 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,6 +35,8 @@ jobs: - ubuntu-24.04-arm - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} + container: + image: format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From c7e1a036161919b2226cde9480a9ec241de70911 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:48:50 +0000 Subject: [PATCH 12/55] Debug image --- .github/workflows/premerge.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 02dce133a8010..4794dc6881c4e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -31,7 +31,6 @@ jobs: strategy: matrix: runs-on: - - llvm-premerge-linux-runners - ubuntu-24.04-arm - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} >From f7ae102d6e0ffcd483edf8abf588f17a90811da6 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 19:50:24 +0000 Subject: [PATCH 13/55] Debug image --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4794dc6881c4e..817604175a8ac 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - depot-ubuntu-24.04-arm-4 runs-on: ${{ matrix.runs-on }} container: - image: format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) + image: ${{ format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From f6a5df8b5cb37c21de3f54ff0a95d27a09018f42 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:03:08 +0000 Subject: [PATCH 14/55] Debug containre --- .github/workflows/premerge.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 817604175a8ac..9bc0d4883d407 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -31,11 +31,10 @@ jobs: strategy: matrix: runs-on: - - ubuntu-24.04-arm - - depot-ubuntu-24.04-arm-4 + - ubuntu-24.04 runs-on: ${{ matrix.runs-on }} container: - image: ${{ format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) }} + image: ${{ format('ghcr.io/{0}/ci-ubuntu-24.04',github.repository_owner) }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 452a347aae9ffcb789e64f534883f2d5fc32d703 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:14:20 +0000 Subject: [PATCH 15/55] Debug --- .github/workflows/premerge.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 9bc0d4883d407..4c7a3b6ce3356 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,14 +32,19 @@ jobs: matrix: runs-on: - ubuntu-24.04 + - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} - container: - image: ${{ format('ghcr.io/{0}/ci-ubuntu-24.04',github.repository_owner) }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 2 + - name: Debug + run: | + ls -ltr /bin/sh/ + - name: Debug2 + run: | + source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) - name: Build and Test run: | cat $0 >From 79e6def3c18e376e2ef85ed488c73c49cf7c86ab Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:16:13 +0000 Subject: [PATCH 16/55] Debug --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4c7a3b6ce3356..7bdfc94264632 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -41,7 +41,7 @@ jobs: fetch-depth: 2 - name: Debug run: | - ls -ltr /bin/sh/ + ls -ltr /usr/bin/sh - name: Debug2 run: | source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From a827aa786cc6b6dc6bebeffe01a2e93c63484cc0 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:40:30 +0000 Subject: [PATCH 17/55] Debug containr --- .github/workflows/premerge.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 7bdfc94264632..c3903f5483a23 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -34,6 +34,8 @@ jobs: - ubuntu-24.04 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} + container: + image: ${{ (startsWith(matrix.runs-on, 'ubuntu-24.04') && format('ghcr.io/{0}/ci-ubuntu-24.04',github.repository_owner) ) || null }} steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From ef27441eb066ab1b92d6139b189b70bc51f4c373 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:46:19 +0000 Subject: [PATCH 18/55] Debug containr --- .github/workflows/premerge.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index c3903f5483a23..fc18b4766a684 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -44,6 +44,13 @@ jobs: - name: Debug run: | ls -ltr /usr/bin/sh + -name: Debug + run: | + git diff --name-only HEAD~1...HEAD + python3 .ci/compute_projects.py + - name: Debug2 + run: | + source <$(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) - name: Debug2 run: | source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From 0b85fe15139f86c93f61aefdfcd96738eba1812e Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 20:47:40 +0000 Subject: [PATCH 19/55] Fix typo --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index fc18b4766a684..c9ca432cc5bcf 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -44,7 +44,7 @@ jobs: - name: Debug run: | ls -ltr /usr/bin/sh - -name: Debug + - name: Debug run: | git diff --name-only HEAD~1...HEAD python3 .ci/compute_projects.py >From 6fe200853a29723fbfe738536590775054b1737d Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 21:02:33 +0000 Subject: [PATCH 20/55] Fix typo --- .github/workflows/premerge.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index c9ca432cc5bcf..6facef37d6cdc 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -48,9 +48,6 @@ jobs: run: | git diff --name-only HEAD~1...HEAD python3 .ci/compute_projects.py - - name: Debug2 - run: | - source <$(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) - name: Debug2 run: | source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From 0a082cb7b9b93f88e3e6250ee0b19f4c303e5519 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 21:09:52 +0000 Subject: [PATCH 21/55] More debug --- .github/workflows/premerge.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 6facef37d6cdc..75002a590f5a3 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -48,6 +48,9 @@ jobs: run: | git diff --name-only HEAD~1...HEAD python3 .ci/compute_projects.py + - name: Interpreter + run: | + ps -p $$ | awk '$1 != "PID" {print $(NF)}' - name: Debug2 run: | source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From 2e1badd7528519f63da28aa1094f5a2f25c17c62 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:31:28 +0000 Subject: [PATCH 22/55] Fix --- .github/workflows/premerge.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 75002a590f5a3..2fcff6f7057be 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -36,6 +36,12 @@ jobs: runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'ubuntu-24.04') && format('ghcr.io/{0}/ci-ubuntu-24.04',github.repository_owner) ) || null }} + defaults: + run: + # The run step defaults to using sh as the shell when running in a + # container, so make bash the default to ensure consistency between + # container and non-container jobs. + shell: bash steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 >From 92a0d64b56d7dba07e6b8125f8ff83a52e1678bd Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:34:40 +0000 Subject: [PATCH 23/55] Switch to depot runners --- .github/workflows/premerge.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 2fcff6f7057be..4e42dbdf35597 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -31,11 +31,11 @@ jobs: strategy: matrix: runs-on: - - ubuntu-24.04 + - depot-ubuntu-24.04-arm-4 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'ubuntu-24.04') && format('ghcr.io/{0}/ci-ubuntu-24.04',github.repository_owner) ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm-16') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} defaults: run: # The run step defaults to using sh as the shell when running in a >From 05823e9b01c541a1fe93bdf910788f3e0929cfc9 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:35:20 +0000 Subject: [PATCH 24/55] Remove debugging --- .github/workflows/premerge.yaml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4e42dbdf35597..2f9b8a922760c 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -47,22 +47,8 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 2 - - name: Debug - run: | - ls -ltr /usr/bin/sh - - name: Debug - run: | - git diff --name-only HEAD~1...HEAD - python3 .ci/compute_projects.py - - name: Interpreter - run: | - ps -p $$ | awk '$1 != "PID" {print $(NF)}' - - name: Debug2 - run: | - source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) - name: Build and Test run: | - cat $0 git config --global --add safe.directory '*' source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py) >From 0f11e408b4ce79834c1f010f713711ced3e3c5cb Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:36:55 +0000 Subject: [PATCH 25/55] Test for CI --- llvm/README.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/llvm/README.txt b/llvm/README.txt index b9b71a3b6daff..2e35844e9e3a6 100644 --- a/llvm/README.txt +++ b/llvm/README.txt @@ -15,3 +15,5 @@ documentation setup. If you are writing a package for LLVM, see docs/Packaging.rst for our suggestions. + +Test for CI. >From 9fca728b0779b792408f9953cef08928ead8f0e2 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:46:41 +0000 Subject: [PATCH 26/55] Add in sccache --- .github/workflows/premerge.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 2f9b8a922760c..d77e983b4c7a9 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -47,6 +47,15 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 2 + + - name: Setup sccache + uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 + if: startsWith(matrix.runs-on, 'depot') + with: + max-size: 8G + key: ${{ matrix.runs-on }} + variant: sccache + - name: Build and Test run: | git config --global --add safe.directory '*' >From 8ff572d966319942798a48b20996ae7e9a3b812e Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 22:54:36 +0000 Subject: [PATCH 27/55] Disable sccache setup --- .github/workflows/premerge.yaml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index d77e983b4c7a9..1171dcba1d45f 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -76,18 +76,21 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - # This environment variable is passes into the container through the - # runner pod definition. This differs between our two clusters which - # why we do not hardcode it. - export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET - export SCCACHE_GCS_RW_MODE=READ_WRITE - - # Set the idle timeout to zero to ensure sccache runs for the - # entire duration of the job. Otherwise it might stop if we run - # several test suites in a row and discard statistics that we want - # to save in the end. - export SCCACHE_IDLE_TIMEOUT=0 - sccache --start-server + if ! [[ "${{ matrix.runs_on }}" =~ "^depot" ]; then + + # This environment variable is passes into the container through the + # runner pod definition. This differs between our two clusters which + # why we do not hardcode it. + export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET + export SCCACHE_GCS_RW_MODE=READ_WRITE + + # Set the idle timeout to zero to ensure sccache runs for the + # entire duration of the job. Otherwise it might stop if we run + # several test suites in a row and discard statistics that we want + # to save in the end. + export SCCACHE_IDLE_TIMEOUT=0 + sccache --start-server + fi ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" - name: Upload Artifacts >From 7eab71cb29aaecaaa23747427de440d03baf8d9b Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:00:05 +0000 Subject: [PATCH 28/55] Fix typo --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 1171dcba1d45f..a561da0163fc3 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -76,7 +76,7 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - if ! [[ "${{ matrix.runs_on }}" =~ "^depot" ]; then + if ! [[ "${{ matrix.runs_on }}" =~ "^depot" ]]; then # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which >From fce2dc7f438d80a815f65f7b0e575e48a85ca9fd Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:06:50 +0000 Subject: [PATCH 29/55] fix typo --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index a561da0163fc3..51d4d7c4920f3 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -76,7 +76,7 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - if ! [[ "${{ matrix.runs_on }}" =~ "^depot" ]]; then + if ! [[ "${{ matrix.runs-on }}" =~ "^depot" ]]; then # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which >From 47242649a86b6c39259d0fe2b5770a3b9ff1f62a Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:09:44 +0000 Subject: [PATCH 30/55] Debug --- .github/workflows/premerge.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 51d4d7c4920f3..3859f9a10b1d2 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -78,6 +78,7 @@ jobs: if ! [[ "${{ matrix.runs-on }}" =~ "^depot" ]]; then + echo "STARTING SCCACHE" # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which # why we do not hardcode it. >From 5a68096a777d84abc047ac010ca2ad58f0997231 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:15:01 +0000 Subject: [PATCH 31/55] Fix regex --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 3859f9a10b1d2..ce690db24420a 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -76,7 +76,7 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - if ! [[ "${{ matrix.runs-on }}" =~ "^depot" ]]; then + if ! [[ "${{ matrix.runs-on }}" =~ ^depot.* ]]; then echo "STARTING SCCACHE" # This environment variable is passes into the container through the >From 12913f6b7330923f889f6e4c5b19d74329280375 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:18:48 +0000 Subject: [PATCH 32/55] fix with containers --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index ce690db24420a..5486aa33c9124 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -35,7 +35,7 @@ jobs: - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: - image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm-16') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} + image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} defaults: run: # The run step defaults to using sh as the shell when running in a >From 62c28bf298ad72b19fa96745ed713ea8be1cb4c6 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:36:13 +0000 Subject: [PATCH 33/55] Try to fix bash --- .github/workflows/premerge.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 5486aa33c9124..4e1e7e08bd8a9 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -36,12 +36,6 @@ jobs: runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} - defaults: - run: - # The run step defaults to using sh as the shell when running in a - # container, so make bash the default to ensure consistency between - # container and non-container jobs. - shell: bash steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -57,6 +51,10 @@ jobs: variant: sccache - name: Build and Test + # The run step defaults to using sh as the shell when running in a + # container, so make bash the default to ensure consistency between + # container and non-container jobs. + shell: bash run: | git config --global --add safe.directory '*' >From 66b9eea3e56138164c8ef77af097d225644c2623 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:45:43 +0000 Subject: [PATCH 34/55] Fix sccache --- .github/workflows/premerge.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 4e1e7e08bd8a9..b17401f54bbf1 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -36,12 +36,22 @@ jobs: runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} + defaults: + run: + # The run step defaults to using sh as the shell when running in a + # container, so make bash the default to ensure consistency between + # container and non-container jobs. + shell: bash steps: - name: Checkout LLVM uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 2 + - name: HACK - Remove SCCACHE + run: | + rm -Rf /usr/local/bin/sccache + - name: Setup sccache uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 if: startsWith(matrix.runs-on, 'depot') @@ -51,10 +61,6 @@ jobs: variant: sccache - name: Build and Test - # The run step defaults to using sh as the shell when running in a - # container, so make bash the default to ensure consistency between - # container and non-container jobs. - shell: bash run: | git config --global --add safe.directory '*' >From bf0a79f5a864c22516e9378803909796a2f71bfd Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:48:23 +0000 Subject: [PATCH 35/55] Fix sccache --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index b17401f54bbf1..569cd96d4c031 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -50,7 +50,7 @@ jobs: - name: HACK - Remove SCCACHE run: | - rm -Rf /usr/local/bin/sccache + sudo rm -Rf /usr/local/bin/sccache - name: Setup sccache uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 >From 33606309517ab4bcd87babc92688f7e7210bb3a3 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:50:53 +0000 Subject: [PATCH 36/55] Disable sccache --- .ci/monolithic-linux.sh | 2 -- .github/workflows/premerge.yaml | 12 ------------ 2 files changed, 14 deletions(-) diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index 3ca4d05f4c891..dcf84d2f79bef 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -54,8 +54,6 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ -D LLVM_LIT_ARGS="${lit_args}" \ -D LLVM_ENABLE_LLD=ON \ -D CMAKE_CXX_FLAGS=-gmlt \ - -D CMAKE_C_COMPILER_LAUNCHER=sccache \ - -D CMAKE_CXX_COMPILER_LAUNCHER=sccache \ -D LIBCXX_CXX_ABI=libcxxabi \ -D MLIR_ENABLE_BINDINGS_PYTHON=ON \ -D LLDB_ENABLE_PYTHON=ON \ diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 569cd96d4c031..5ae5522383042 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -48,18 +48,6 @@ jobs: with: fetch-depth: 2 - - name: HACK - Remove SCCACHE - run: | - sudo rm -Rf /usr/local/bin/sccache - - - name: Setup sccache - uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 - if: startsWith(matrix.runs-on, 'depot') - with: - max-size: 8G - key: ${{ matrix.runs-on }} - variant: sccache - - name: Build and Test run: | git config --global --add safe.directory '*' >From 51216e7bb86e46e15b34f797f7e20ba186465873 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Mon, 25 Aug 2025 23:53:50 +0000 Subject: [PATCH 37/55] Disable sccache --- .ci/utils.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.ci/utils.sh b/.ci/utils.sh index 2a3d2426b630a..93c281b43851c 100644 --- a/.ci/utils.sh +++ b/.ci/utils.sh @@ -18,14 +18,14 @@ BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}" rm -rf "${BUILD_DIR}" -sccache --zero-stats +#sccache --zero-stats function at-exit { retcode=$? mkdir -p artifacts - sccache --show-stats - sccache --show-stats >> artifacts/sccache_stats.txt + #sccache --show-stats + #sccache --show-stats >> artifacts/sccache_stats.txt cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log cp "${MONOREPO_ROOT}"/*.log artifacts/ || : cp "${BUILD_DIR}"/test-results.*.xml artifacts/ || : >From 8b5162a75844eb3f461cbd2eaceaadf0e3fb3b06 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Wed, 27 Aug 2025 16:59:44 +0000 Subject: [PATCH 38/55] Fix lldb tests and use a bigger machine --- .github/workflows/premerge.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 5ae5522383042..16b2171bb44f3 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -31,11 +31,12 @@ jobs: strategy: matrix: runs-on: - - depot-ubuntu-24.04-arm-4 + - depot-ubuntu-24.04-arm-64 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} + options: --privileged defaults: run: # The run step defaults to using sh as the shell when running in a >From 428257950069d1f05e769308fd46b20d1538aced Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Wed, 27 Aug 2025 18:53:57 +0000 Subject: [PATCH 39/55] Add fast-fail --- .github/workflows/premerge.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 220803d74286f..51772b04f68e1 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -29,6 +29,7 @@ jobs: github.repository_owner == 'llvm' && (github.event_name != 'pull_request' || github.event.action != 'closed') strategy: + fast-fail: false matrix: runs-on: - depot-ubuntu-24.04-arm-64 >From 079c4b133dcd693e00d531420b22d4bee1a0a11d Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Wed, 27 Aug 2025 18:57:18 +0000 Subject: [PATCH 40/55] Fix typo --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 51772b04f68e1..f9426fc8ac42d 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -29,7 +29,7 @@ jobs: github.repository_owner == 'llvm' && (github.event_name != 'pull_request' || github.event.action != 'closed') strategy: - fast-fail: false + fail-fast: false matrix: runs-on: - depot-ubuntu-24.04-arm-64 >From c972560d17cb79a8e92eef2896e00232121e0d05 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Wed, 27 Aug 2025 20:25:25 +0000 Subject: [PATCH 41/55] Revert "Disable sccache" This reverts commit 33606309517ab4bcd87babc92688f7e7210bb3a3. --- .ci/monolithic-linux.sh | 2 ++ .github/workflows/premerge.yaml | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh index dcf84d2f79bef..3ca4d05f4c891 100755 --- a/.ci/monolithic-linux.sh +++ b/.ci/monolithic-linux.sh @@ -54,6 +54,8 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \ -D LLVM_LIT_ARGS="${lit_args}" \ -D LLVM_ENABLE_LLD=ON \ -D CMAKE_CXX_FLAGS=-gmlt \ + -D CMAKE_C_COMPILER_LAUNCHER=sccache \ + -D CMAKE_CXX_COMPILER_LAUNCHER=sccache \ -D LIBCXX_CXX_ABI=libcxxabi \ -D MLIR_ENABLE_BINDINGS_PYTHON=ON \ -D LLDB_ENABLE_PYTHON=ON \ diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index f9426fc8ac42d..58463ce914079 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -50,6 +50,18 @@ jobs: with: fetch-depth: 2 + - name: HACK - Remove SCCACHE + run: | + sudo rm -Rf /usr/local/bin/sccache + + - name: Setup sccache + uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 + if: startsWith(matrix.runs-on, 'depot') + with: + max-size: 8G + key: ${{ matrix.runs-on }} + variant: sccache + - name: Build and Test run: | git config --global --add safe.directory '*' >From ac5e6fe7b48a4c6ee7cc9b20fea127d516b7c5c0 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Wed, 27 Aug 2025 20:26:25 +0000 Subject: [PATCH 42/55] Remove ccache hack --- .github/workflows/premerge.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 58463ce914079..a588c256d6e16 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -50,10 +50,6 @@ jobs: with: fetch-depth: 2 - - name: HACK - Remove SCCACHE - run: | - sudo rm -Rf /usr/local/bin/sccache - - name: Setup sccache uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 if: startsWith(matrix.runs-on, 'depot') >From 0eb548113523085d50ac37926d3bbd52ddd9abf7 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 17:57:48 +0000 Subject: [PATCH 43/55] Disable failing lldb test and use native sscache --- .github/workflows/premerge.yaml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index a588c256d6e16..f06bb88d870b9 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -50,14 +50,6 @@ jobs: with: fetch-depth: 2 - - name: Setup sccache - uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17 - if: startsWith(matrix.runs-on, 'depot') - with: - max-size: 8G - key: ${{ matrix.runs-on }} - variant: sccache - - name: Build and Test run: | git config --global --add safe.directory '*' @@ -78,6 +70,11 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ + if "$RUNNER_ARCH" = "ARM64"; then + # XFAIL lldb test: https://github.com/llvm/llvm-project/issues/155895 + export LIT_XFAIL=functionalities/gdb_remote_client/TestqOffsets.py" + fi + if ! [[ "${{ matrix.runs-on }}" =~ ^depot.* ]]; then # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which >From 86813cbb0a3d759ff3a54718636f67dc8f28baa4 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:00:10 +0000 Subject: [PATCH 44/55] Fix typo --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index f06bb88d870b9..6dc19fa25261e 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -72,7 +72,7 @@ jobs: if "$RUNNER_ARCH" = "ARM64"; then # XFAIL lldb test: https://github.com/llvm/llvm-project/issues/155895 - export LIT_XFAIL=functionalities/gdb_remote_client/TestqOffsets.py" + export LIT_XFAIL="functionalities/gdb_remote_client/TestqOffsets.py" fi if ! [[ "${{ matrix.runs-on }}" =~ ^depot.* ]]; then >From 2a385ff3951e374f0240ed63471c70bc57bf3817 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:18:11 +0000 Subject: [PATCH 45/55] Enable sccache --- .ci/utils.sh | 6 +++--- .github/workflows/premerge.yaml | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.ci/utils.sh b/.ci/utils.sh index 93c281b43851c..2a3d2426b630a 100644 --- a/.ci/utils.sh +++ b/.ci/utils.sh @@ -18,14 +18,14 @@ BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}" rm -rf "${BUILD_DIR}" -#sccache --zero-stats +sccache --zero-stats function at-exit { retcode=$? mkdir -p artifacts - #sccache --show-stats - #sccache --show-stats >> artifacts/sccache_stats.txt + sccache --show-stats + sccache --show-stats >> artifacts/sccache_stats.txt cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log cp "${MONOREPO_ROOT}"/*.log artifacts/ || : cp "${BUILD_DIR}"/test-results.*.xml artifacts/ || : diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 6dc19fa25261e..8ac8dea5916f7 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -75,22 +75,22 @@ jobs: export LIT_XFAIL="functionalities/gdb_remote_client/TestqOffsets.py" fi - if ! [[ "${{ matrix.runs-on }}" =~ ^depot.* ]]; then + if ! [[ "${{ matrix.runs-on }}" = "llvm-premerge-linux-runners" ]]; then # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which # why we do not hardcode it. export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET export SCCACHE_GCS_RW_MODE=READ_WRITE - - # Set the idle timeout to zero to ensure sccache runs for the - # entire duration of the job. Otherwise it might stop if we run - # several test suites in a row and discard statistics that we want - # to save in the end. - export SCCACHE_IDLE_TIMEOUT=0 - mkdir artifacts - SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server fi + # Set the idle timeout to zero to ensure sccache runs for the + # entire duration of the job. Otherwise it might stop if we run + # several test suites in a row and discard statistics that we want + # to save in the end. + export SCCACHE_IDLE_TIMEOUT=0 + mkdir artifacts + SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server + ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" - name: Upload Artifacts # In some cases, Github will fail to upload the artifact. We want to >From 690300a9678f839737a526635caf9f7ab20a5b0a Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:22:52 +0000 Subject: [PATCH 46/55] Fix names --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 8ac8dea5916f7..417643b23c4a7 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -24,7 +24,7 @@ concurrency: jobs: premerge-checks-linux: - name: Build and Test Linux + name: Build and Test Linux ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && 'AArch64') || 'X86_64' }} if: >- github.repository_owner == 'llvm' && (github.event_name != 'pull_request' || github.event.action != 'closed') >From 3a4b6afb931909867d032fe507340830dd768435 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:43:39 +0000 Subject: [PATCH 47/55] Try again with filtering out tests --- .github/workflows/premerge.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 417643b23c4a7..cb0487322ea7b 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,7 +32,7 @@ jobs: fail-fast: false matrix: runs-on: - - depot-ubuntu-24.04-arm-64 + - depot-ubuntu-24.04-arm-16 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: @@ -73,7 +73,9 @@ jobs: if "$RUNNER_ARCH" = "ARM64"; then # XFAIL lldb test: https://github.com/llvm/llvm-project/issues/155895 export LIT_XFAIL="functionalities/gdb_remote_client/TestqOffsets.py" + export LIT_FILTER_OUT=TestqOffsets.py fi + env if ! [[ "${{ matrix.runs-on }}" = "llvm-premerge-linux-runners" ]]; then # This environment variable is passes into the container through the >From 60d13b49faa6deaa017a1be7dfe8ae236bd2af80 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:50:19 +0000 Subject: [PATCH 48/55] Fix sccache --- .github/workflows/premerge.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index cb0487322ea7b..c5224c8321ff9 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -75,15 +75,15 @@ jobs: export LIT_XFAIL="functionalities/gdb_remote_client/TestqOffsets.py" export LIT_FILTER_OUT=TestqOffsets.py fi - env - if ! [[ "${{ matrix.runs-on }}" = "llvm-premerge-linux-runners" ]]; then + if [[ "${{ matrix.runs-on }}" = "llvm-premerge-linux-runners" ]]; then # This environment variable is passes into the container through the # runner pod definition. This differs between our two clusters which # why we do not hardcode it. export SCCACHE_GCS_BUCKET=$CACHE_GCS_BUCKET export SCCACHE_GCS_RW_MODE=READ_WRITE fi + env # Set the idle timeout to zero to ensure sccache runs for the # entire duration of the job. Otherwise it might stop if we run >From 3b62739476c0d8ce7cac5a52aa58627a542bb451 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 18:53:42 +0000 Subject: [PATCH 49/55] Fix runner arch --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index c5224c8321ff9..23820283a6f71 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -70,7 +70,7 @@ jobs: export CC=/opt/llvm/bin/clang export CXX=/opt/llvm/bin/clang++ - if "$RUNNER_ARCH" = "ARM64"; then + if [ "$RUNNER_ARCH" = "ARM64" ]; then # XFAIL lldb test: https://github.com/llvm/llvm-project/issues/155895 export LIT_XFAIL="functionalities/gdb_remote_client/TestqOffsets.py" export LIT_FILTER_OUT=TestqOffsets.py >From 9c6141bd1def3844a30c2d23fac2fb1a14586f9a Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 22:26:43 +0000 Subject: [PATCH 50/55] Fix artifacts --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 23820283a6f71..5acf6017bf4cc 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -103,7 +103,7 @@ jobs: if: '!cancelled()' uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 with: - name: Premerge Artifacts (Linux) + name: Premerge Artifacts (Linux ${{ runner.arch }}) path: artifacts/ retention-days: 5 include-hidden-files: 'true' >From a88a1f7704de8f49cbd751a4e8d59fb60c0e75a6 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Thu, 28 Aug 2025 23:50:39 +0000 Subject: [PATCH 51/55] Try to fix sccache --- .github/workflows/premerge.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 5acf6017bf4cc..d3b8a7a90b16d 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -37,7 +37,12 @@ jobs: runs-on: ${{ matrix.runs-on }} container: image: ${{ (startsWith(matrix.runs-on, 'depot-ubuntu-24.04-arm') && format('ghcr.io/{0}/arm64v8/ci-ubuntu-24.04',github.repository_owner) ) || null }} - options: --privileged + # --privileged is needed to run the lldb tests that disable aslr. + # --env-host is needed to copy over the environment variables for + # configuring sccache. + options: >- + --privileged + --env SCCACHE* defaults: run: # The run step defaults to using sh as the shell when running in a >From d4723790c5c4b119d27ab09aca0dc6e3cd11e1a3 Mon Sep 17 00:00:00 2001 From: ultimateforce21 <abdullahmohammad...@gmail.com> Date: Thu, 28 Aug 2025 19:07:00 -0400 Subject: [PATCH 52/55] Skip TestVariableAnnotationsDisassembler.py on non-x86 architectures The test TestVariableAnnotationsDisassembler.py relies on an .s input file generated for x86_64 with assembly directives that are not portable (e.g., DWARF sections and comments using #). This causes build failures on non-x86 targets such as AArch64. This change skips the test unless the architecture is x86_64, ensuring it only runs where the assembly input is valid. --- .../TestVariableAnnotationsDisassembler.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py b/lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py index e6f26bf8fd389..4d99ea771605a 100644 --- a/lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py +++ b/lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py @@ -22,6 +22,7 @@ def _disassemble_verbose_symbol(self, symname): self.runCmd(f"disassemble -n {symname} -v", check=True) return self.res.GetOutput() + @skipIf(archs=no_match(["x86_64"])) def test_d_original_example_O1(self): obj = self._build_obj("d_original_example.o") target = self._create_target(obj) @@ -33,6 +34,7 @@ def test_d_original_example_O1(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_regs_int_params(self): obj = self._build_obj("regs_int_params.o") target = self._create_target(obj) @@ -47,6 +49,7 @@ def test_regs_int_params(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_regs_fp_params(self): obj = self._build_obj("regs_fp_params.o") target = self._create_target(obj) @@ -61,6 +64,7 @@ def test_regs_fp_params(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_regs_mixed_params(self): obj = self._build_obj("regs_mixed_params.o") target = self._create_target(obj) @@ -75,6 +79,7 @@ def test_regs_mixed_params(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_live_across_call(self): obj = self._build_obj("live_across_call.o") target = self._create_target(obj) @@ -86,6 +91,7 @@ def test_live_across_call(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_loop_reg_rotate(self): obj = self._build_obj("loop_reg_rotate.o") target = self._create_target(obj) @@ -99,6 +105,7 @@ def test_loop_reg_rotate(self): self.assertNotIn("<decoding error>", out) @no_debug_info_test + @skipIf(archs=no_match(["x86_64"])) def test_seed_reg_const_undef(self): obj = self._build_obj("seed_reg_const_undef.o") target = self._create_target(obj) >From d2fd1f4cca680065c92e6f595cd97e8ae444ae35 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Fri, 29 Aug 2025 03:12:18 +0000 Subject: [PATCH 53/55] sccache fix and debug --- .github/workflows/premerge.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index d3b8a7a90b16d..99684cb6958b1 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -42,7 +42,8 @@ jobs: # configuring sccache. options: >- --privileged - --env SCCACHE* + --env SCCACHE_WEBDAV_ENDPOINT + --env SCCACHE_WEBDAV_TOKEN defaults: run: # The run step defaults to using sh as the shell when running in a @@ -98,7 +99,7 @@ jobs: mkdir artifacts SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server - ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" +# ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" - name: Upload Artifacts # In some cases, Github will fail to upload the artifact. We want to # continue anyways as a failed artifact upload is an infra failure, not >From 8e3c6769d8e920a804ade9fc2be39189499721fd Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Fri, 29 Aug 2025 03:20:59 +0000 Subject: [PATCH 54/55] Fix sccache --- .github/workflows/premerge.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index 99684cb6958b1..d97ced0cb8327 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,7 +32,7 @@ jobs: fail-fast: false matrix: runs-on: - - depot-ubuntu-24.04-arm-16 + - depot-ubuntu-24.04-arm-4 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: @@ -99,7 +99,7 @@ jobs: mkdir artifacts SCCACHE_LOG=info SCCACHE_ERROR_LOG=$(pwd)/artifacts/sccache.log sccache --start-server -# ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" + ./.ci/monolithic-linux.sh "${projects_to_build}" "${project_check_targets}" "${runtimes_to_build}" "${runtimes_check_targets}" "${runtimes_check_targets_needs_reconfig}" "${enable_cir}" - name: Upload Artifacts # In some cases, Github will fail to upload the artifact. We want to # continue anyways as a failed artifact upload is an infra failure, not >From 3fa985b714bad76aa0bd4a2fddf5c03f9661d282 Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Sat, 30 Aug 2025 15:26:26 +0000 Subject: [PATCH 55/55] Use bigger machine to avoid running out of disk --- .github/workflows/premerge.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml index d97ced0cb8327..15099591cf8e7 100644 --- a/.github/workflows/premerge.yaml +++ b/.github/workflows/premerge.yaml @@ -32,7 +32,7 @@ jobs: fail-fast: false matrix: runs-on: - - depot-ubuntu-24.04-arm-4 + - depot-ubuntu-24.04-arm-16 - llvm-premerge-linux-runners runs-on: ${{ matrix.runs-on }} container: _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits