Files
kappa/.gitea/workflows/ci.yml
T
huntedbytheirs 5668708fed
CI / build-and-test (push) Failing after 30s
fix: detect and install Clang 15-18 with LLVM fallback
- Tries apt clang-18/17/16/15 first (Ubuntu 22.04+)
- Falls back to LLVM repo install for Ubuntu 20.04
- Auto-detects installed clang version for CMake compiler flags
- Both CMake 3.28 (binary download) and C++23 compiler required
2026-08-04 14:21:10 -04:00

57 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt-get update -qq
# Try clang-15+ first (Ubuntu 22.04+)
if apt-cache show clang-18 >/dev/null 2>&1; then
apt-get install -y -qq clang-18 ninja-build curl
elif apt-cache show clang-17 >/dev/null 2>&1; then
apt-get install -y -qq clang-17 ninja-build curl
elif apt-cache show clang-16 >/dev/null 2>&1; then
apt-get install -y -qq clang-16 ninja-build curl
elif apt-cache show clang-15 >/dev/null 2>&1; then
apt-get install -y -qq clang-15 ninja-build curl
else
# Ubuntu 20.04: install from LLVM repo
apt-get install -y -qq wget lsb-release
wget -qO- https://apt.llvm.org/llvm.sh | bash -s -- 18
apt-get install -y -qq ninja-build curl
fi
- 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
- name: Build kappa
run: |
CC=$(ls /usr/bin/clang-1[5-9] /usr/bin/clang-2[0-9] 2>/dev/null | head -1)
if [ -z "$CC" ]; then CC=/usr/bin/clang-18; fi
CXX="${CC}++"
cmake -B build -G Ninja \
-DCMAKE_C_COMPILER="$CC" \
-DCMAKE_CXX_COMPILER="$CXX"
cmake --build build
- name: DSL and CLI tests
run: ./test.sh
- name: Init-switching tests
run: ./test-init-switch.sh
- name: Comprehensive tests
run: ./test-full.sh