This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [EnricoMi/publish-unit-test-result-action](https://redirect.github.com/EnricoMi/publish-unit-test-result-action) | action | minor | `v2.23.0` → `v2.24.0` | | | [actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance) | action | patch | `v4.1.0` → `v4.1.1` | | | [actions/checkout](https://redirect.github.com/actions/checkout) | action | patch | `v6.0.2` → `v6.0.3` | | | [actions/checkout](https://redirect.github.com/actions/checkout) | action | patch | `v6.0.1` → `v6.0.3` | | | [actions/create-github-app-token](https://redirect.github.com/actions/create-github-app-token) | action | minor | `v3.1.1` → `v3.2.0` | | | [actions/labeler](https://redirect.github.com/actions/labeler) | action | minor | `v6.0.1` → `v6.2.0` | | | [actions/setup-node](https://redirect.github.com/actions/setup-node) | action | minor | `v6.3.0` → `v6.5.0` | | | [actions/setup-python](https://redirect.github.com/actions/setup-python) | action | minor | `v6.2.0` → `v6.3.0` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | patch | `v7.0.0` → `v7.0.1` | | | [aminya/setup-cpp](https://redirect.github.com/aminya/setup-cpp) | action | patch | `v1.8.0` → `v1.8.1` | | | [docker/login-action](https://redirect.github.com/docker/login-action) | action | minor | `v4.1.0` → `v4.4.0` | | | ghcr.io/llvm/amd64/ci-ubuntu-24.04-github-automation | container | digest | `82b5304` → `f419363` | | | ghcr.io/llvm/ci-ubuntu-24.04 | container | digest | `cc4fd65` → `26c16c2` | | | ghcr.io/llvm/ci-ubuntu-24.04-abi-tests | container | digest | `cb3aea3` → `a948062` | | | ghcr.io/llvm/ci-ubuntu-24.04-lint | container | digest | `91665a4` → `416874e` | | | ghcr.io/llvm/libc-ubuntu-24.04 | container | digest | `a902fb5` → `b9c8ea7` | | | [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | minor | `v4.35.2` → `v4.37.0` | `v4.37.1` | | [hendrikmuhs/ccache-action](https://redirect.github.com/hendrikmuhs/ccache-action) | action | patch | `v1.2.22` → `v1.2.23` | | | [zizmorcore/zizmor-action](https://redirect.github.com/zizmorcore/zizmor-action) | action | minor | `v0.5.3` → `v0.6.0` | | (cherry picked from commit 24942433bc8a71b8aa459f802a0962089bb4dd22)
167 lines
5.4 KiB
YAML
167 lines
5.4 KiB
YAML
name: libc Precommit CI - shared tests
|
|
permissions:
|
|
contents: read
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'libc/**'
|
|
- '.github/workflows/libc-shared-tests.yml'
|
|
|
|
jobs:
|
|
windows-msvc-shared:
|
|
name: libc-shared-test with MSVC on ${{ matrix.arch }}
|
|
if: github.repository_owner == 'llvm'
|
|
timeout-minutes: 20
|
|
strategy:
|
|
fail-fast: false # If one arch fails, let the other finish
|
|
matrix:
|
|
include:
|
|
- arch: amd64
|
|
os: windows-2022
|
|
- arch: amd64_x86
|
|
os: windows-2022
|
|
- arch: arm64
|
|
os: windows-11-arm
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout LLVM
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Setup MSVC Dev Environment
|
|
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
|
with:
|
|
arch: ${{ matrix.arch }}
|
|
|
|
- name: Configure CMake
|
|
run: |
|
|
cmake -B build -S runtimes -G Ninja `
|
|
-DLLVM_ENABLE_RUNTIMES=libc `
|
|
-DCMAKE_C_COMPILER=cl `
|
|
-DCMAKE_CXX_COMPILER=cl `
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
- name: Build and Test
|
|
run: cmake --build build --target libc-shared-tests
|
|
|
|
linux-cross-arch-shared:
|
|
name: libc-shared-tests on ${{ matrix.arch }}
|
|
if: github.repository_owner == 'llvm'
|
|
timeout-minutes: 20
|
|
runs-on: ubuntu-24.04
|
|
container:
|
|
image: 'ghcr.io/llvm/libc-ubuntu-24.04:latest@sha256:b9c8ea74685ea46c86594428c41a1ba95bc6d33b28183c0ddac64414344950fd'
|
|
strategy:
|
|
fail-fast: false # If one arch fails, let the other finish
|
|
matrix:
|
|
include:
|
|
- arch: aarch64
|
|
target_triple: aarch64-linux-gnu
|
|
gcc_arch: aarch64-linux-gnu
|
|
- arch: riscv64
|
|
target_triple: riscv64-linux-gnu
|
|
gcc_arch: riscv64-linux-gnu
|
|
- arch: ppc64le
|
|
target_triple: powerpc64le-linux-gnu
|
|
gcc_arch: powerpc64le-linux-gnu
|
|
- arch: armhf
|
|
target_triple: arm-linux-gnueabihf
|
|
gcc_arch: arm-linux-gnueabihf
|
|
gcc_ver: -12
|
|
|
|
steps:
|
|
- name: Checkout LLVM
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Create QEMU wrapper
|
|
run: |
|
|
mkdir build
|
|
cat << 'EOF' > /__w/llvm-project/llvm-project/build/qemu-wrapper.sh
|
|
#!/bin/bash
|
|
qemu-${{ matrix.arch }}-static -L /usr/${{ matrix.target_triple }} "$@"
|
|
EOF
|
|
chmod +x /__w/llvm-project/llvm-project/build/qemu-wrapper.sh
|
|
|
|
- name: Configure CMake - Clang
|
|
run: |
|
|
cmake -B build/clang -S runtimes -G Ninja \
|
|
-DLLVM_ENABLE_RUNTIMES=libc \
|
|
-DCMAKE_C_COMPILER=clang-23 \
|
|
-DCMAKE_CXX_COMPILER=clang++-23 \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DLLVM_USE_LINKER=lld-23 \
|
|
-DLIBC_TARGET_TRIPLE=${{ matrix.target_triple }} \
|
|
-DCMAKE_CROSSCOMPILING_EMULATOR=/__w/llvm-project/llvm-project/build/qemu-wrapper.sh
|
|
|
|
- name: Build and Run - Clang
|
|
env:
|
|
QEMU_LD_PREFIX: /usr/${{ matrix.target_triple }}
|
|
run: |
|
|
cmake --build build/clang --target libc-shared-tests
|
|
|
|
- name: Configure CMake - gcc
|
|
run: |
|
|
cmake -B build/gcc -S runtimes -G Ninja \
|
|
-DLLVM_ENABLE_RUNTIMES=libc \
|
|
-DCMAKE_C_COMPILER=${{ matrix.target_triple }}-gcc${{ matrix.gcc_ver }} \
|
|
-DCMAKE_CXX_COMPILER=${{ matrix.target_triple }}-g++${{ matrix.gcc_ver }} \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DLIBC_TARGET_TRIPLE=${{ matrix.target_triple }} \
|
|
-DCMAKE_CROSSCOMPILING_EMULATOR=/__w/llvm-project/llvm-project/build/qemu-wrapper.sh
|
|
|
|
- name: Build and Run - gcc
|
|
env:
|
|
QEMU_LD_PREFIX: /usr/${{ matrix.target_triple }}
|
|
run: |
|
|
cmake --build build/gcc --target libc-shared-tests
|
|
|
|
linux-gcc-shared:
|
|
name: libc-shared-tests with ${{ matrix.name }}
|
|
if: github.repository_owner == 'llvm'
|
|
timeout-minutes: 20
|
|
runs-on: ubuntu-24.04
|
|
container:
|
|
image: 'ghcr.io/llvm/libc-ubuntu-24.04:latest@sha256:b9c8ea74685ea46c86594428c41a1ba95bc6d33b28183c0ddac64414344950fd'
|
|
strategy:
|
|
fail-fast: false # If one arch fails, let the other finish
|
|
matrix:
|
|
include:
|
|
- name: gcc
|
|
c_compiler: gcc
|
|
cxx_compiler: g++
|
|
- name: gcc-7
|
|
c_compiler: /usr/local/gcc7/bin/gcc
|
|
cxx_compiler: /usr/local/gcc7/bin/g++
|
|
- name: gcc-8
|
|
c_compiler: /usr/local/gcc8/bin/gcc
|
|
cxx_compiler: /usr/local/gcc8/bin/g++
|
|
- name: gcc-9
|
|
c_compiler: gcc-9
|
|
cxx_compiler: g++-9
|
|
- name: gcc-11
|
|
c_compiler: gcc-11
|
|
cxx_compiler: g++-11
|
|
|
|
steps:
|
|
- name: Checkout LLVM
|
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Configure CMake
|
|
run: |
|
|
cmake -B build -S runtimes -G Ninja \
|
|
-DLLVM_ENABLE_RUNTIMES=libc \
|
|
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
|
|
-DCMAKE_CXX_COMPILER=${{ matrix.cxx_compiler }} \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
- name: Build and Run
|
|
run: |
|
|
cmake --build build --target libc-shared-tests
|