# Linux CI (Windows box validates syntax only; full compile is CI's job). # Matrix: ubuntu-22.04/24.04 x Python 3.11/3.12/3.13, GCC default + one # Clang job (24.04/3.12 via include-merge). No secrets, no releases/uploads. # Future work (out of scope): cibuildwheel/manylinux wheels. name: linux on: push: pull_request: jobs: build-test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-22.04, ubuntu-24.04] python-version: ["3.11", "3.12", "3.13"] include: - os: ubuntu-24.04 python-version: "3.12" cc: clang steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Clang if: ${{ matrix.cc == 'clang' }} run: sudo apt-get update && sudo apt-get install -y clang - name: Install package run: | if [ "${{ matrix.cc }}" = "clang" ]; then export CC=clang CXX=clang++; fi pip install -e .[test] - name: Portable kernel tests run: pytest tests/test_kernels_portable.py tests/test_native.py -q - name: Surjo parity run: python scripts/parity_surjo.py - name: Kernel variant run: python -c "from cism import _native; print(_native.kernel_variant())"