[llvm] Add macOS premerge check workflow (PR #207435)

Mishal Shah via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 3 10:42:21 PDT 2026


https://github.com/shahmishal created https://github.com/llvm/llvm-project/pull/207435

Added a premerge check workflow for macOS self-hosted runners to build and test projects.

>From 4592973b72322eec62908bbec6409cb6b9b3ff90 Mon Sep 17 00:00:00 2001
From: Mishal Shah <mishal_shah at apple.com>
Date: Fri, 3 Jul 2026 10:41:33 -0700
Subject: [PATCH] Add macOS premerge check workflow

Added a premerge check workflow for macOS self-hosted runners to build and test projects.
---
 .github/workflows/premerge.yaml | 38 +++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index d506e631e2f21..4825b80da2c76 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -248,3 +248,41 @@ jobs:
 
           # The libcxx tests fail, so we are skipping the runtime targets.
           ninja -C build ${project_check_targets}
+
+  premerge-check-macos-self-hosted-runners:
+    name: Build and Test macOS
+    runs-on: [self-hosted, macos, apple-runners]
+    if: >-
+        github.repository_owner == 'llvm' &&
+        (github.event_name != 'pull_request' || github.event.action != 'closed')
+    steps:
+      - name: Checkout LLVM
+        uses: actions/checkout at de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+        with:
+          persist-credentials: false
+          fetch-depth: 2
+      - name: Install Ninja
+        run: |
+          brew install ninja
+      - name: Build and Test
+        run: |
+          source <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py)
+
+          if [[ "${projects_to_build}" == "" ]]; then
+            echo "No projects to build"
+            exit 0
+          fi
+
+          echo "Building projects: ${projects_to_build}"
+          echo "Running project checks targets: ${project_check_targets}"
+
+          xcrun cmake -G Ninja \
+                -B build \
+                -S llvm \
+                -DLLVM_ENABLE_PROJECTS="${projects_to_build}" \
+                -DLLVM_DISABLE_ASSEMBLY_FILES=ON \
+                -DCMAKE_BUILD_TYPE=Release \
+                -DLLDB_INCLUDE_TESTS=OFF \
+                -DLLVM_ENABLE_ASSERTIONS=ON \
+
+          ninja -C build ${project_check_targets}



More information about the llvm-commits mailing list