[llvm] workflows/premerge: Add macOS testing for release branch (PR #124303)

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 18:35:41 PST 2025


https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/124303

>From 1dfa287a7c8398c821030ad84619265d76fae0ef Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 08:30:12 -0800
Subject: [PATCH 01/20] workflows/premerge: Add macOS testing for release
 branch

---
 .github/workflows/premerge.yaml | 68 +++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 30f4fc807f3a57..bdbe0537c89a62 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -10,6 +10,7 @@ on:
   push:
     branches:
       - 'main'
+      - 'release/**'
 
 jobs:
   premerge-checks-linux:
@@ -70,3 +71,70 @@ jobs:
           export CXX=/opt/llvm/bin/clang++
 
           ./.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"
+
+
+  permerge-check-macos:
+    runs-on: macos-14
+    if: >-
+      github.repository_owner == 'llvm' &&
+      (startswith(github.ref_name, 'release/') ||
+       startswith(github.base_ref, 'refs/heads/release/')
+    steps:
+      - name: Checkout LLVM
+        uses: actions/checkout at v4
+        with:
+          fetch-depth: 2
+      - name: Setup ccache
+        uses: hendrikmuhs/ccache-action at v1.2.14
+        with:
+          max-size: "2000M"
+      - name: Install Ninja
+        uses: llvm/actions/install-ninja at main
+      - name: Build and Test
+        run: |
+          git config --global --add safe.directory '*'
+
+          modified_files=$(git diff --name-only HEAD~1...HEAD)
+          modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
+
+          echo $modified_files
+          echo $modified_dirs
+
+          . ./.ci/compute-projects.sh
+
+          all_projects="clang clang-tools-extra lld lldb llvm mlir"
+          modified_projects="$(keep-modified-projects ${all_projects})"
+
+          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ')
+          mac_projects=$(add-dependencies ${modified_projects} | sort | uniq | tr '\n' ' ')
+
+          mac_runtimes_to_test=$(compute-runtimes-to-test ${modified_projects})
+          mac_runtime_check_targets=$(check-targets ${mac_runtimes_to_test} | sort | uniq | tr '\n' ' ')
+          mac_runtimes=$(echo ${mac_runtimes_to_test} | tr ' ' '\n' | sort | uniq | tr '\n' ' ')
+
+          if [[ "${mac_projects}" == "" ]]; then
+            echo "No projects to build"
+            exit 0
+          fi
+
+          echo "Projects to test: ${modified_projects}"
+          echo "Runtimes to test: ${mac_runtimes_to_test}"
+          echo "Building projects: ${mac_projects}"
+          echo "Running project checks targets: ${mac_check_targets}"
+          echo "Building runtimes: ${mac_runtimes}"
+          echo "Running runtimes checks targets: ${mac_runtime_check_targets}"
+
+          # -DLLVM_DISABLE_ASSEMBLY_FILES=ON is for
+          # https://github.com/llvm/llvm-project/issues/81967
+          cmake -G Ninja \
+                -B build \
+                -S llvm \
+                -DLLVM_ENABLE_PROJECTS="$(echo ${mac_projects} | tr ' ' ';')" \
+                -DLLVM_ENABLE_RUNTIMES="$(echo ${mac_runtimes} | tr ' ' ';')" \
+                -DLLVM_DISABLE_ASSEMBLY_FILES=ON \
+                -DCMAKE_BUILD_TYPE=Release \
+                -DLLVM_ENABLE_ASSERTIONS=ON \
+                -DCMAKE_C_COMPILER_LAUNCHER=ccache \
+                -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
+
+          ninja -C build  $mac_check_targets $mac_runtime_check_targets

>From e80457902b7f32fa704c960b1e38b1d369b1282c Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 09:33:33 -0800
Subject: [PATCH 02/20] Remove safe directory

---
 .github/workflows/premerge.yaml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index bdbe0537c89a62..ed8f7c8a999cb0 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -36,8 +36,6 @@ jobs:
         # are ready for people to start recieving notifications.
         continue-on-error: true
         run: |
-          git config --global --add safe.directory '*'
-
           modified_files=$(git diff --name-only HEAD~1...HEAD)
           modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
 

>From 6e1df982a394400bb983a5d6a8ab51738dd483a5 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 09:34:50 -0800
Subject: [PATCH 03/20] Remove old tests

---
 .github/workflows/clang-tests.yml  | 38 -----------------------------
 .github/workflows/libclc-tests.yml | 39 ------------------------------
 .github/workflows/lld-tests.yml    | 38 -----------------------------
 .github/workflows/lldb-tests.yml   | 39 ------------------------------
 .github/workflows/llvm-tests.yml   | 10 --------
 5 files changed, 164 deletions(-)
 delete mode 100644 .github/workflows/clang-tests.yml
 delete mode 100644 .github/workflows/libclc-tests.yml
 delete mode 100644 .github/workflows/lld-tests.yml
 delete mode 100644 .github/workflows/lldb-tests.yml

diff --git a/.github/workflows/clang-tests.yml b/.github/workflows/clang-tests.yml
deleted file mode 100644
index 2569ce19518e3e..00000000000000
--- a/.github/workflows/clang-tests.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: Clang Tests
-
-permissions:
-  contents: read
-
-on:
-  workflow_dispatch:
-  push:
-    branches:
-      - 'release/**'
-    paths:
-      - 'clang/**'
-      - '.github/workflows/clang-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!llvm/**'
-  pull_request:
-    branches:
-      - 'release/**'
-    paths:
-      - 'clang/**'
-      - '.github/workflows/clang-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!llvm/**'
-
-concurrency:
-  # Skip intermediate builds: always.
-  # Cancel intermediate builds: only if it is a pull request build.
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
-
-jobs:
-  check_clang:
-    if: github.repository_owner == 'llvm'
-    name: Test clang,lldb,libclc
-    uses: ./.github/workflows/llvm-project-tests.yml
-    with:
-      build_target: check-clang
-      projects: clang;lldb;libclc
diff --git a/.github/workflows/libclc-tests.yml b/.github/workflows/libclc-tests.yml
deleted file mode 100644
index 23192f776a985e..00000000000000
--- a/.github/workflows/libclc-tests.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: libclc Tests
-
-permissions:
-  contents: read
-
-on:
-  workflow_dispatch:
-  push:
-    branches:
-      - 'release/**'
-    paths:
-      - 'libclc/**'
-      - '.github/workflows/libclc-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!clang/**'
-      - '!llvm/**'
-  pull_request:
-    branches:
-      - 'release/**'
-    paths:
-      - 'libclc/**'
-      - '.github/workflows/libclc-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!clang/**'
-      - '!llvm/**'
-
-concurrency:
-  # Skip intermediate builds: always.
-  # Cancel intermediate builds: only if it is a pull request build.
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
-
-jobs:
-  check_libclc:
-    if: github.repository_owner == 'llvm'
-    name: Test libclc
-    uses: ./.github/workflows/llvm-project-tests.yml
-    with:
-      projects: clang;libclc
diff --git a/.github/workflows/lld-tests.yml b/.github/workflows/lld-tests.yml
deleted file mode 100644
index 599c0975fa6858..00000000000000
--- a/.github/workflows/lld-tests.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: LLD Tests
-
-permissions:
-  contents: read
-
-on:
-  workflow_dispatch:
-  push:
-    branches:
-      - 'release/**'
-    paths:
-      - 'lld/**'
-      - '.github/workflows/lld-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!llvm/**'
-  pull_request:
-    branches:
-      - 'release/**'
-    paths:
-      - 'lld/**'
-      - '.github/workflows/lld-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!llvm/**'
-
-concurrency:
-  # Skip intermediate builds: always.
-  # Cancel intermediate builds: only if it is a pull request build.
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
-
-jobs:
-  check_lld:
-    if: github.repository_owner == 'llvm'
-    name: Test lld
-    uses: ./.github/workflows/llvm-project-tests.yml
-    with:
-      build_target: check-lld
-      projects: lld
diff --git a/.github/workflows/lldb-tests.yml b/.github/workflows/lldb-tests.yml
deleted file mode 100644
index 6bb9721956258f..00000000000000
--- a/.github/workflows/lldb-tests.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: lldb Tests
-
-permissions:
-  contents: read
-
-on:
-  workflow_dispatch:
-  push:
-    branches:
-      - 'release/**'
-    paths:
-      - 'lldb/**'
-      - '.github/workflows/lldb-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!clang/**'
-      - '!llvm/**'
-  pull_request:
-    branches:
-      - 'release/**'
-    paths:
-      - 'lldb/**'
-      - '.github/workflows/lldb-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
-      - '!clang/**'
-      - '!llvm/**'
-
-concurrency:
-  # Skip intermediate builds: always.
-  # Cancel intermediate builds: only if it is a pull request build.
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
-
-jobs:
-  build_lldb:
-    if: github.repository_owner == 'llvm'
-    name: Build lldb
-    uses: ./.github/workflows/llvm-project-tests.yml
-    with:
-      projects: clang;lldb
diff --git a/.github/workflows/llvm-tests.yml b/.github/workflows/llvm-tests.yml
index 4e570a7cb14550..9b3d49d4e99b93 100644
--- a/.github/workflows/llvm-tests.yml
+++ b/.github/workflows/llvm-tests.yml
@@ -11,14 +11,12 @@ on:
     paths:
       - 'llvm/**'
       - '.github/workflows/llvm-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
   pull_request:
     branches:
       - 'release/**'
     paths:
       - 'llvm/**'
       - '.github/workflows/llvm-tests.yml'
-      - '.github/workflows/llvm-project-tests.yml'
 
 concurrency:
   # Skip intermediate builds: always.
@@ -27,14 +25,6 @@ concurrency:
   cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
 
 jobs:
-  check-all:
-    if: github.repository_owner == 'llvm'
-    name: Build and Test
-    uses: ./.github/workflows/llvm-project-tests.yml
-    with:
-      build_target: check-all
-      projects: clang;lld;libclc;lldb
-
   abi-dump-setup:
     if: github.repository_owner == 'llvm'
     runs-on: ubuntu-latest

>From 31f636a310b98acc633be48ebd2a654cf4004e6e Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 09:35:58 -0800
Subject: [PATCH 04/20] 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 ed8f7c8a999cb0..4a723f71a0196f 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -76,7 +76,7 @@ jobs:
     if: >-
       github.repository_owner == 'llvm' &&
       (startswith(github.ref_name, 'release/') ||
-       startswith(github.base_ref, 'refs/heads/release/')
+       startswith(github.base_ref, 'refs/heads/release/'))
     steps:
       - name: Checkout LLVM
         uses: actions/checkout at v4

>From 55ab9a047c7142e1d63444525bc9480d690fcd5a Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 09:32:54 -0800
Subject: [PATCH 05/20] XXX: Debug

---
 .github/workflows/premerge.yaml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 4a723f71a0196f..f27c39caf835d7 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -74,7 +74,6 @@ jobs:
   permerge-check-macos:
     runs-on: macos-14
     if: >-
-      github.repository_owner == 'llvm' &&
       (startswith(github.ref_name, 'release/') ||
        startswith(github.base_ref, 'refs/heads/release/'))
     steps:

>From a5ea95e474eb3906cd31b8de90066faa5c1e962d Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Fri, 24 Jan 2025 13:54:25 -0800
Subject: [PATCH 06/20] Drop libcxx tests

---
 .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 f27c39caf835d7..dbf11d75819fd7 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -134,4 +134,5 @@ jobs:
                 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
-          ninja -C build  $mac_check_targets $mac_runtime_check_targets
+          # The libcxx tests fail, so we are skipping the runtime targets.
+          ninja -C build  $mac_check_targets

>From 1ddc081959e80d9e4e70e0bfb3074e53bdb14fba Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 04:10:17 -0800
Subject: [PATCH 07/20] Disable check-clang-tools

---
 .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 dbf11d75819fd7..196e1d2d0bbe61 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -102,7 +102,9 @@ jobs:
           all_projects="clang clang-tools-extra lld lldb llvm mlir"
           modified_projects="$(keep-modified-projects ${all_projects})"
 
-          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ')
+          # check-clang-tools is failing currently:
+          # weak-def symbol not found '__ZnwmSt19__type_descriptor_t'weak-def symbol not found '__ZnamSt19__type_descriptor_t'
+          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ' | sed -e 's/check-clang-tools//g')
           mac_projects=$(add-dependencies ${modified_projects} | sort | uniq | tr '\n' ' ')
 
           mac_runtimes_to_test=$(compute-runtimes-to-test ${modified_projects})

>From 36794cfd5e67936188c4c7f5f53a2d6d7799406b Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 04:34:31 -0800
Subject: [PATCH 08/20] Disable runtimes

---
 .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 196e1d2d0bbe61..bcc5b65b28307b 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -129,9 +129,9 @@ jobs:
                 -B build \
                 -S llvm \
                 -DLLVM_ENABLE_PROJECTS="$(echo ${mac_projects} | tr ' ' ';')" \
-                -DLLVM_ENABLE_RUNTIMES="$(echo ${mac_runtimes} | tr ' ' ';')" \
                 -DLLVM_DISABLE_ASSEMBLY_FILES=ON \
                 -DCMAKE_BUILD_TYPE=Release \
+                -DLLDB_INCLUDE_TESTS=OFF \
                 -DLLVM_ENABLE_ASSERTIONS=ON \
                 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache

>From 1f9b05c2a4cda01c7bb7a5387e5bf39a0c031970 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 04:34:39 -0800
Subject: [PATCH 09/20] Revert "Disable check-clang-tools"

This reverts commit 7d57c01e93cb987e1cb2a7f101c148949f706db7.
---
 .github/workflows/premerge.yaml | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index bcc5b65b28307b..fd10e1107c0ded 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -102,9 +102,7 @@ jobs:
           all_projects="clang clang-tools-extra lld lldb llvm mlir"
           modified_projects="$(keep-modified-projects ${all_projects})"
 
-          # check-clang-tools is failing currently:
-          # weak-def symbol not found '__ZnwmSt19__type_descriptor_t'weak-def symbol not found '__ZnamSt19__type_descriptor_t'
-          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ' | sed -e 's/check-clang-tools//g')
+          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ')
           mac_projects=$(add-dependencies ${modified_projects} | sort | uniq | tr '\n' ' ')
 
           mac_runtimes_to_test=$(compute-runtimes-to-test ${modified_projects})

>From 9b576425ef59e607c966a30e1f817fa9a01e7c6e Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 07:46:14 -0800
Subject: [PATCH 10/20] Disable lldb 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 fd10e1107c0ded..6e016eacc81669 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -102,7 +102,9 @@ jobs:
           all_projects="clang clang-tools-extra lld lldb llvm mlir"
           modified_projects="$(keep-modified-projects ${all_projects})"
 
-          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ')
+          # We have to disable the runtimes builds due to https://github.com/llvm/llvm-project/issues/90568
+          # and the lldb tests depend on libcxx, so we need to skip them.
+          mac_check_targets=$(check-targets ${modified_projects} | sort | uniq | tr '\n' ' ' | sed -e 's/check-lldb //g')
           mac_projects=$(add-dependencies ${modified_projects} | sort | uniq | tr '\n' ' ')
 
           mac_runtimes_to_test=$(compute-runtimes-to-test ${modified_projects})

>From a5ccba10176f59dcd20a302a9bc4adf4468637a2 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 10:21:00 -0800
Subject: [PATCH 11/20] Try to xfail some tests

---
 .github/workflows/premerge.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 6e016eacc81669..afd21552d534c9 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -136,5 +136,8 @@ jobs:
                 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
+          # XFAIL some tests that are failing:
+          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/"
+
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets

>From 1e6994d376cca51ca09b9d5b03ae064fec34d619 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 11:14:50 -0800
Subject: [PATCH 12/20] Try again to filter out tests

---
 .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 afd21552d534c9..d9f8a5bb41fd29 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -137,7 +137,7 @@ jobs:
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
           # XFAIL some tests that are failing:
-          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/"
+          export LIT_XFAIL="Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateAllExtensions;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateExtensionError;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateUnknownExtensionByOpts;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByArg;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByOpts"
 
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets

>From 77ad8b554def4e28a88d6d33053889c997a34846 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Sat, 25 Jan 2025 19:11:45 -0800
Subject: [PATCH 13/20] Try to filter tests again

---
 .github/workflows/premerge.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index d9f8a5bb41fd29..3baeff4d163576 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -138,6 +138,7 @@ jobs:
 
           # XFAIL some tests that are failing:
           export LIT_XFAIL="Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateAllExtensions;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateExtensionError;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateUnknownExtensionByOpts;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByArg;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByOpts"
+          export LIT_FILTER=SPIRVTests
 
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets

>From f475f73300cb6c1a57a9e309de9debbc79e686a4 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 06:40:23 -0800
Subject: [PATCH 14/20] Fix XFAIL

---
 .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 3baeff4d163576..41fe5001d47a0e 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -137,8 +137,7 @@ jobs:
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
           # XFAIL some tests that are failing:
-          export LIT_XFAIL="Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateAllExtensions;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateExtensionError;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateUnknownExtensionByOpts;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByArg;Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByOpts"
-          export LIT_FILTER=SPIRVTests
+          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateAllExtensions;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateExtensionError;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateUnknownExtensionByOpts;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByArg;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByOpts"
 
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets

>From 7b2d53a8d1ae55ce413663d1e1f4f1f62c5bd122 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 09:25:12 -0800
Subject: [PATCH 15/20] Fix xfalis

---
 .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 41fe5001d47a0e..a27a250bba0cb8 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -125,6 +125,7 @@ jobs:
 
           # -DLLVM_DISABLE_ASSEMBLY_FILES=ON is for
           # https://github.com/llvm/llvm-project/issues/81967
+          # Disable sharding in lit so that the LIT_XFAIL environment var works.
           cmake -G Ninja \
                 -B build \
                 -S llvm \
@@ -133,11 +134,12 @@ jobs:
                 -DCMAKE_BUILD_TYPE=Release \
                 -DLLDB_INCLUDE_TESTS=OFF \
                 -DLLVM_ENABLE_ASSERTIONS=ON \
+                -DLLVM_LIT_ARGS="-vv --time-tests --no-gtest-sharding"\
                 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
           # XFAIL some tests that are failing:
-          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateAllExtensions;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateExtensionError;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateUnknownExtensionByOpts;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByArg;LLVM-Unit :: Target/SPIRV/./SPIRVTests/SPIRVAPITest/checkTranslateWrongExtensionByOpts"
+          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests"
 
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets

>From 3ddc308abcce063881acf07940115059054bcc8a Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 12:30:45 -0800
Subject: [PATCH 16/20] Fixup merge

---
 .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 f925bc2c76d1f9..dd3baf633b7398 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -36,6 +36,8 @@ jobs:
         # are ready for people to start recieving notifications.
         continue-on-error: true
         run: |
+          git config --global --add safe.directory '*'
+
           modified_files=$(git diff --name-only HEAD~1...HEAD)
           modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
 
@@ -95,7 +97,6 @@ jobs:
           modified_files=$(git diff --name-only HEAD~1...HEAD)
           modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort | uniq)
 
-
           echo $modified_files
           echo $modified_dirs
 
@@ -197,4 +198,4 @@ jobs:
           export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests"
 
           # The libcxx tests fail, so we are skipping the runtime targets.
-          ninja -C build  $mac_check_targets
\ No newline at end of file
+          ninja -C build  $mac_check_targets

>From b44d1229001faf72c0739aab798ceace2cc8d050 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 13:07:54 -0800
Subject: [PATCH 17/20] Fix source

---
 .github/workflows/premerge.yaml | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index dd3baf633b7398..d81bb650035d96 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -151,10 +151,14 @@ jobs:
         uses: llvm/actions/install-ninja at main
       - name: Build and Test
         run: |
-          git config --global --add safe.directory '*'
-
           modified_files=$(git diff --name-only HEAD~1...HEAD)
           modified_dirs=$(echo "$modified_files" | cut -d'/' -f1 | sort -u)
+
+          echo $modified_files
+          echo $modified_dirs
+
+          . ./.ci/compute-projects.sh
+
           all_projects="clang clang-tools-extra lld lldb llvm mlir"
           modified_projects="$(keep-modified-projects ${all_projects})"
 

>From 83065a4dcd73e6e1302b8e0391a5e6ef2a49bb47 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 13:15:47 -0800
Subject: [PATCH 18/20] Add concurrency

---
 .github/workflows/premerge.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index d81bb650035d96..155e4be26364c7 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -135,6 +135,9 @@ jobs:
 
   permerge-check-macos:
     runs-on: macos-14
+    concurrency:
+      group: ${{ github.workflow }}-macos-${{ github.event.pull_request.number || github.sha }}
+      cancel-in-progress: true
     if: >-
       (startswith(github.ref_name, 'release/') ||
        startswith(github.base_ref, 'refs/heads/release/'))

>From ab2ed0b83da0d9766a315f9ae003b8801639d519 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 13:50:27 -0800
Subject: [PATCH 19/20] Add comment for failing tests

---
 .github/workflows/premerge.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 155e4be26364c7..f3ebf61e0aa7e4 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -202,6 +202,7 @@ jobs:
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
           # XFAIL some tests that are failing:
+          # https://github.com/llvm/llvm-project/issues/125121
           export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests"
 
           # The libcxx tests fail, so we are skipping the runtime targets.

>From cd89a785cf5e7fd727e0d32c4a0fc90142933657 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar at redhat.com>
Date: Thu, 30 Jan 2025 17:40:19 -0800
Subject: [PATCH 20/20] Remove xfail

---
 .github/workflows/premerge.yaml | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index f3ebf61e0aa7e4..d7fa6718821861 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -197,13 +197,8 @@ jobs:
                 -DCMAKE_BUILD_TYPE=Release \
                 -DLLDB_INCLUDE_TESTS=OFF \
                 -DLLVM_ENABLE_ASSERTIONS=ON \
-                -DLLVM_LIT_ARGS="-vv --time-tests --no-gtest-sharding"\
                 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
                 -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
 
-          # XFAIL some tests that are failing:
-          # https://github.com/llvm/llvm-project/issues/125121
-          export LIT_XFAIL="LLVM-Unit :: Target/SPIRV/./SPIRVTests"
-
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build  $mac_check_targets



More information about the llvm-commits mailing list