[llvm] workflows/premerge: Add macOS testing for release branch (PR #124303)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 24 08:32:02 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-github-workflow
Author: Tom Stellard (tstellar)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/124303.diff
1 Files Affected:
- (modified) .github/workflows/premerge.yaml (+68)
``````````diff
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
``````````
</details>
https://github.com/llvm/llvm-project/pull/124303
More information about the llvm-commits
mailing list