forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Import github action definitions from release/10.x branch
- Loading branch information
Showing
5 changed files
with
303 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Clang Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- '.github/workflows/clang-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- '.github/workflows/clang-tests.yml' | ||
|
||
jobs: | ||
build_clang: | ||
name: clang check-all | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@master | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
- name: Test clang | ||
uses: llvm/actions/build-test-llvm-project@master | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release | ||
build_target: check-clang |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: libclc Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'libclc/**' | ||
- '.github/workflows/libclc-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'libclc/**' | ||
- '.github/workflows/libclc-tests.yml' | ||
|
||
jobs: | ||
build_libclc: | ||
name: libclc test | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
# Disable build on windows, because I can't figure out where llvm-config is. | ||
#- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@master | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
- name: Build clang | ||
uses: llvm/actions/build-test-llvm-project@master | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang" -DCMAKE_BUILD_TYPE=Release | ||
build_target: "" | ||
- name: Build and test libclc | ||
run: | | ||
mkdir libclc-build | ||
cd libclc-build | ||
cmake -G Ninja ../libclc -DLLVM_CONFIG=../build/bin/llvm-config | ||
ninja | ||
ninja test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: LLD Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'lld/**' | ||
- 'llvm/**' | ||
- '.github/workflows/lld-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'lld/**' | ||
- 'llvm/**' | ||
- '.github/workflows/lld-tests.yml' | ||
|
||
jobs: | ||
build_lld: | ||
name: lld check-all | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@master | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
- name: Test lld | ||
uses: llvm/actions/build-test-llvm-project@master | ||
with: | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="lld" -DCMAKE_BUILD_TYPE=Release | ||
build_target: check-lld |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: lldb Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'lldb/**' | ||
- '.github/workflows/lldb-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'clang/**' | ||
- 'llvm/**' | ||
- 'lldb/**' | ||
- '.github/workflows/lldb-tests.yml' | ||
|
||
jobs: | ||
build_lldb: | ||
name: lldb build | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
# macOS build disabled due to: llvm.org/PR46190 | ||
#- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@master | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
- name: Build lldb | ||
uses: llvm/actions/build-test-llvm-project@master | ||
with: | ||
# Mac OS requries that libcxx is enabled for lldb tests, so we need to disable them. | ||
cmake_args: -G Ninja -DLLVM_ENABLE_PROJECTS="clang;lldb" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF | ||
# check-lldb is not consistent, so we only build lldb. | ||
build_target: "" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
name: LLVM Tests | ||
|
||
env: | ||
release_major: 11 | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'release/**' | ||
paths: | ||
- 'llvm/**' | ||
- '.github/workflows/llvm-tests.yml' | ||
pull_request: | ||
paths: | ||
- 'llvm/**' | ||
- '.github/workflows/llvm-tests.yml' | ||
|
||
jobs: | ||
build_llvm: | ||
name: llvm check-all | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- ubuntu-latest | ||
- windows-latest | ||
- macOS-latest | ||
steps: | ||
- name: Setup Windows | ||
if: startsWith(matrix.os, 'windows') | ||
uses: llvm/actions/setup-windows@master | ||
with: | ||
arch: amd64 | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
- name: Test llvm | ||
uses: llvm/actions/build-test-llvm-project@master | ||
with: | ||
cmake_args: -G Ninja -DCMAKE_BUILD_TYPE=Release | ||
|
||
abi-dump: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
name: | ||
- build-baseline | ||
- build-latest | ||
include: | ||
- name: build-baseline | ||
# FIXME: Referencing the env context does not work here | ||
# ref: llvmorg-${{ env.release_major }}.0.0 | ||
ref: llvmorg-11.0.0 | ||
repo: llvm/llvm-project | ||
- name: build-latest | ||
ref: ${{ github.sha }} | ||
repo: ${{ github.repository }} | ||
steps: | ||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@master | ||
- name: Install abi-compliance-checker | ||
run: | | ||
sudo apt-get install abi-dumper autoconf pkg-config | ||
- name: Install universal-ctags | ||
run: | | ||
git clone https://github.com/universal-ctags/ctags.git | ||
cd ctags | ||
./autogen.sh | ||
./configure | ||
sudo make install | ||
- name: Download source code | ||
uses: llvm/actions/get-llvm-project-src@master | ||
with: | ||
ref: ${{ matrix.ref }} | ||
repo: ${{ matrix.repo }} | ||
- name: Configure | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD="" -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_C_FLAGS_DEBUG="-g -Og" -DCMAKE_CXX_FLAGS_DEBUG="-g -Og" ../llvm | ||
- name: Build | ||
run: ninja -C build libLLVM-${{ env.release_major }}.so | ||
- name: Dump ABI | ||
run: abi-dumper -lver ${{ matrix.ref }} -skip-cxx -public-headers llvm/include -o ${{ matrix.ref }}.abi.tar.gz build/lib/libLLVM-${{ env.release_major }}.so | ||
- name: Upload ABI file | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: ${{ matrix.name }} | ||
path: ${{ matrix.ref }}.abi.tar.gz | ||
|
||
abi-compare: | ||
runs-on: ubuntu-latest | ||
needs: | ||
- abi-dump | ||
steps: | ||
- name: Download baseline | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: build-baseline | ||
- name: Download latest | ||
uses: actions/download-artifact@v1 | ||
with: | ||
name: build-latest | ||
- name: Install abi-compliance-checker | ||
run: sudo apt-get install abi-compliance-checker | ||
- name: Compare ABI | ||
run: abi-compliance-checker -l libLLVM-${{ env.release_major}}.so -old build-baseline/*.tar.gz -new build-latest/*.tar.gz | ||
- name: Upload ABI Comparison | ||
if: always() | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: compat-report-${{ github.sha }} | ||
path: compat_reports/ |