blob: 51fff1fdf1eb9accd764f809164517a123f7f99d [file] [edit]
# Pre-commit CI for the compiler-rt + LLVM-libc builtins integration.
name: compiler-rt + libc Builtins Tests
permissions:
contents: read
on:
pull_request:
paths:
- "compiler-rt/lib/builtins/**"
- "compiler-rt/test/builtins/**"
- "libc/shared/builtins.h"
- "libc/shared/builtins/**"
- "libc/src/__support/builtins/**"
- "libc/src/__support/FPUtil/**"
- ".github/workflows/compiler-rt-libc-builtins-tests.yml"
jobs:
build:
name: builtins (${{ matrix.os }})
if: github.repository_owner == 'llvm'
runs-on: ${{ matrix.os }}
container:
image: ${{ (startsWith(matrix.os, 'ubuntu-24.04-arm') && 'ghcr.io/llvm/arm64v8/libc-ubuntu-24.04') || 'ghcr.io/llvm/libc-ubuntu-24.04' }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Configure CMake
run: |
cmake \
-B build \
-S runtimes \
-DLLVM_ENABLE_RUNTIMES=compiler-rt \
-G Ninja \
-DCMAKE_C_COMPILER=clang-23 \
-DCMAKE_CXX_COMPILER=clang++-23 \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DCOMPILER_RT_STANDALONE_BUILD=ON \
-DCOMPILER_RT_USE_LIBC_MATH=ON \
-DLLVM_EXTERNAL_LIT=$(which lit-23) \
-DCOMPILER_RT_INCLUDE_TESTS=ON
- name: Test compiler-rt builtins
run: |
cmake \
--build build \
--parallel \
--target check-builtins