[llvm] [libc][ci] Add qemu armhf overlay tests to precommit CI. (PR #203369)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 12:02:50 PDT 2026
https://github.com/lntue created https://github.com/llvm/llvm-project/pull/203369
None
>From 731a161b02a96e75696c369c3def8a2cd6d6a5af Mon Sep 17 00:00:00 2001
From: Tue Ly <lntue at google.com>
Date: Thu, 11 Jun 2026 15:01:08 -0400
Subject: [PATCH] [libc][ci] Add qemu armhf overlay tests to precommit CI.
---
.github/workflows/libc-overlay-tests.yml | 56 +++++++++++++++++++++++-
1 file changed, 54 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/libc-overlay-tests.yml b/.github/workflows/libc-overlay-tests.yml
index 09fdfc29dc0e8..7899c4204bf78 100644
--- a/.github/workflows/libc-overlay-tests.yml
+++ b/.github/workflows/libc-overlay-tests.yml
@@ -9,8 +9,9 @@ on:
- '.github/workflows/libc-overlay-tests.yml'
jobs:
- build:
+ native:
if: github.repository_owner == 'llvm'
+ name: ${{ matrix.os }} - ${{ matrix.compiler.c_compiler }}
timeout-minutes: 30
runs-on: ${{ matrix.os }}
container: ${{ matrix.container || null }}
@@ -21,7 +22,7 @@ jobs:
include:
# TODO: add linux gcc when it is fixed
- os: ubuntu-24.04
- container: 'ghcr.io/llvm/libc-ubuntu-24.04:latest at sha256:a902fb53bdad5e4a4bb6c11b6584e717a7b3d6e886f1ea58e11f95e46226249c'
+ container: 'ghcr.io/llvm/libc-ubuntu-24.04:latest at sha256:c6e2ee2a9bf5cebd51fd27dd8e85381c2f73d90e091c764082f8ad528ee18918'
compiler:
c_compiler: clang-23
cpp_compiler: clang++-23
@@ -108,3 +109,54 @@ jobs:
--build build
--parallel
--target check-libc
+
+ qemu-armhf:
+ if: github.repository_owner == 'llvm'
+ name: qemu - armhf - ${{ matrix.c_compiler }}
+ runs-on: ubuntu-24.04
+ timeout-minutes: 30
+ container: 'ghcr.io/llvm/libc-ubuntu-24.04:latest at sha256:c6e2ee2a9bf5cebd51fd27dd8e85381c2f73d90e091c764082f8ad528ee18918'
+ strategy:
+ # Set fail-fast to false to ensure that feedback is delivered for all matrix combinations.
+ fail-fast: false
+ matrix:
+ include:
+ - c_compiler: clang-23
+ cxx_compiler: clang++-23
+ - c_compiler: arm-linux-gnueabihf-gcc-12
+ cxx_compiler: arm-linux-gnueabihf-g++-12
+ steps:
+ - name: Checkout LLVM
+ uses: actions/checkout at 8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ with:
+ persist-credentials: false
+
+ - name: Setup ccache
+ uses: hendrikmuhs/ccache-action at 33522472633dbd32578e909b315f5ee43ba878ce # v1.2.22
+ with:
+ max-size: 1G
+ key: libc_qemu_overlay_armhf_${{ matrix.c_compiler }}
+ variant: sccache
+
+ - name: Create QEMU wrapper
+ run: |
+ mkdir build
+ cat << 'EOF' > /__w/llvm-project/llvm-project/build/qemu-wrapper.sh
+ #!/bin/bash
+ qemu-armhf-static -L /usr/arm-linux-gnueabihf "$@"
+ EOF
+ chmod +x /__w/llvm-project/llvm-project/build/qemu-wrapper.sh
+
+ - 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 \
+ -DLIBC_TARGET_TRIPLE=arm-linux-gnueabihf \
+ -DCMAKE_CROSSCOMPILING_EMULATOR=/__w/llvm-project/llvm-project/build/qemu-wrapper.sh
+
+ - name: Build and Test
+ run: |
+ cmake --build build --target libc check-libc
More information about the llvm-commits
mailing list