workflows/premerge: Add macOS testing for release branch (#124303)
Also, remove the old pre-merge tests since Linux and Windows are tested on buildkite now. (cherry picked from commit b89617d02d1c8a2701c1d3290d2ff45cd858ccde)
This commit is contained in:
parent
66a50e246d
commit
0e240b08c6
38
.github/workflows/clang-tests.yml
vendored
38
.github/workflows/clang-tests.yml
vendored
@ -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
|
39
.github/workflows/libclc-tests.yml
vendored
39
.github/workflows/libclc-tests.yml
vendored
@ -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
|
38
.github/workflows/lld-tests.yml
vendored
38
.github/workflows/lld-tests.yml
vendored
@ -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
|
39
.github/workflows/lldb-tests.yml
vendored
39
.github/workflows/lldb-tests.yml
vendored
@ -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
|
10
.github/workflows/llvm-tests.yml
vendored
10
.github/workflows/llvm-tests.yml
vendored
@ -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
|
||||
|
70
.github/workflows/premerge.yaml
vendored
70
.github/workflows/premerge.yaml
vendored
@ -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@v4
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.14
|
||||
with:
|
||||
max-size: "2000M"
|
||||
- name: Install Ninja
|
||||
uses: llvm/actions/install-ninja@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
|
||||
|
Loading…
x
Reference in New Issue
Block a user