[llvm-branch-commits] [llvm] release/20.x: workflows/premerge: Add macOS testing for release branch (#124303) (PR #125161)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Jan 30 20:18:01 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-github-workflow
Author: None (llvmbot)
<details>
<summary>Changes</summary>
Backport b89617d02d1c8a2701c1d3290d2ff45cd858ccde
Requested by: @<!-- -->tstellar
---
Full diff: https://github.com/llvm/llvm-project/pull/125161.diff
6 Files Affected:
- (removed) .github/workflows/clang-tests.yml (-38)
- (removed) .github/workflows/libclc-tests.yml (-39)
- (removed) .github/workflows/lld-tests.yml (-38)
- (removed) .github/workflows/lldb-tests.yml (-39)
- (modified) .github/workflows/llvm-tests.yml (-10)
- (modified) .github/workflows/premerge.yaml (+70)
``````````diff
diff --git a/.github/workflows/clang-tests.yml b/.github/workflows/clang-tests.yml
deleted file mode 100644
index 2569ce19518e3e3..000000000000000
--- 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 23192f776a985e1..000000000000000
--- 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 599c0975fa68586..000000000000000
--- 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 6bb9721956258f1..000000000000000
--- 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 4e570a7cb145500..9b3d49d4e99b93b 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
diff --git a/.github/workflows/premerge.yaml b/.github/workflows/premerge.yaml
index 54d6e1bf092cfb5..d7fa67188218614 100644
--- a/.github/workflows/premerge.yaml
+++ b/.github/workflows/premerge.yaml
@@ -10,6 +10,7 @@ on:
push:
branches:
- 'main'
+ - 'release/**'
jobs:
premerge-checks-linux:
@@ -132,3 +133,72 @@ jobs:
call C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64
bash .ci/monolithic-windows.sh "${{ steps.vars.outputs.windows-projects }}" "${{ steps.vars.outputs.windows-check-targets }}"
+ 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/'))
+ 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: |
+ 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})"
+
+ # 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})
+ 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
+ # Disable sharding in lit so that the LIT_XFAIL environment var works.
+ cmake -G Ninja \
+ -B build \
+ -S llvm \
+ -DLLVM_ENABLE_PROJECTS="$(echo ${mac_projects} | 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
+
+ # The libcxx tests fail, so we are skipping the runtime targets.
+ ninja -C build $mac_check_targets
``````````
</details>
https://github.com/llvm/llvm-project/pull/125161
More information about the llvm-branch-commits
mailing list