# This workflow is for pre-commit testing of the LLVM-libc project. name: LLVM-libc Pre-commit Overlay Tests (FreeBSD VM) permissions: contents: read on: pull_request: paths: - 'libc/**' - '.github/workflows/libc-freebsd-vm-tests.yml' jobs: build: if: github.repository_owner == 'llvm' timeout-minutes: 120 runs-on: ubuntu-24.04 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false # MPFR is required by some of the mathlib tests. - name: Setup FreeBSD uses: vmactions/freebsd-vm@d1e65811565151536c0c894fff74f06351ed26e6 # v 1.4.5 with: usesh: true sync: nfs release: "15.0" mem: 12288 run: | pkg update pkg upgrade -y pkg install -y ninja cmake llvm22 python3 # Use MinSizeRel to reduce the size of the build. # Notice that CMP0141=NEW and MSVC_DEBUG_INFORMATION_FORMAT=Embedded are required # by the sccache tool. - name: Configure CMake shell: freebsd {0} run: > cmake -B build -DCMAKE_CXX_COMPILER=clang++22 -DCMAKE_C_COMPILER=clang22 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_ENABLE_RUNTIMES=libc -G Ninja -S runtimes - name: Build shell: freebsd {0} run: > cmake --build build --parallel --target libc - name: Test shell: freebsd {0} run: > cmake --build build --parallel --target check-libc