From e3d41dcd201234d2269dbd711f74f4ea0d7825dd Mon Sep 17 00:00:00 2001 From: huntedbytheirs Date: Tue, 4 Aug 2026 14:32:58 -0400 Subject: [PATCH] ci: switch to Arch Linux container for modern toolchain Debian 11's libstdc++ (GCC 10) lacks 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. --- .gitea/workflows/ci.yml | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 9d8e2ca..e85dcff 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -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