ci: switch to Arch Linux container for modern toolchain
CI / build-and-test (push) Failing after 12s
CI / build-and-test (push) Failing after 12s
Debian 11's libstdc++ (GCC 10) lacks <format> even with clang-18. Arch ships clang-18 and the latest libstdc++ out of the box. Container-based runner with pacman for dead-simple dependency install.
This commit is contained in:
+5
-15
@@ -9,30 +9,20 @@ on:
|
||||
jobs:
|
||||
build-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
container: archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
apt-get update -qq
|
||||
apt-get install -y -qq wget lsb-release software-properties-common gnupg
|
||||
wget -qO- https://apt.llvm.org/llvm.sh | bash -s -- 18 all
|
||||
apt-get install -y -qq ninja-build curl
|
||||
|
||||
- name: Install CMake 3.28
|
||||
run: |
|
||||
curl -sL https://github.com/Kitware/CMake/releases/download/v3.28.6/cmake-3.28.6-linux-x86_64.tar.gz | tar xz -C /usr/local --strip-components=1
|
||||
cmake --version
|
||||
pacman -Syu --noconfirm
|
||||
pacman -S --noconfirm clang cmake ninja
|
||||
|
||||
- name: Build kappa
|
||||
run: |
|
||||
CC=$(find /usr/bin -maxdepth 1 \( -name 'clang-1[5-9]' -o -name 'clang-2[0-9]' \) 2>/dev/null | sort -V | tail -1)
|
||||
if [ -z "$CC" ]; then CC=/usr/bin/clang-18; fi
|
||||
CXX=$(echo "$CC" | sed 's/clang-/clang++-/')
|
||||
echo "CC=$CC CXX=$CXX"
|
||||
cmake -B build -G Ninja \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX"
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++
|
||||
cmake --build build
|
||||
|
||||
- name: DSL and CLI tests
|
||||
|
||||
Reference in New Issue
Block a user