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:
|
paths:
|
||||||
- 'llvm/**'
|
- 'llvm/**'
|
||||||
- '.github/workflows/llvm-tests.yml'
|
- '.github/workflows/llvm-tests.yml'
|
||||||
- '.github/workflows/llvm-project-tests.yml'
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- 'release/**'
|
- 'release/**'
|
||||||
paths:
|
paths:
|
||||||
- 'llvm/**'
|
- 'llvm/**'
|
||||||
- '.github/workflows/llvm-tests.yml'
|
- '.github/workflows/llvm-tests.yml'
|
||||||
- '.github/workflows/llvm-project-tests.yml'
|
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
# Skip intermediate builds: always.
|
# Skip intermediate builds: always.
|
||||||
@ -27,14 +25,6 @@ concurrency:
|
|||||||
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
|
||||||
|
|
||||||
jobs:
|
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:
|
abi-dump-setup:
|
||||||
if: github.repository_owner == 'llvm'
|
if: github.repository_owner == 'llvm'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
70
.github/workflows/premerge.yaml
vendored
70
.github/workflows/premerge.yaml
vendored
@ -10,6 +10,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- 'main'
|
- 'main'
|
||||||
|
- 'release/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
premerge-checks-linux:
|
premerge-checks-linux:
|
||||||
@ -132,3 +133,72 @@ jobs:
|
|||||||
call C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64
|
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 }}"
|
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