fix: critical bugs, architecture improvements, and test infrastructure #55
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Continuous Integration | |
| # Validates code formatting, CUDA compilation, and CPU-only test execution | |
| # | |
| # Workflow separation: | |
| # - This workflow: formatting + CUDA compile-time checks + CPU tests (no GPU runtime) | |
| # - pages.yml: docs tests/build and GitHub Pages buildability | |
| name: CI | |
| on: | |
| push: | |
| branches: [master] | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'docs/**' | |
| pull_request: | |
| branches: [master] | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'docs/**' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| format-check: | |
| name: Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check formatting | |
| uses: jidicula/clang-format-action@v4.14.0 | |
| with: | |
| clang-format-version: '17' | |
| fallback-style: 'LLVM' | |
| cuda-build: | |
| name: CUDA Build | |
| runs-on: ubuntu-latest | |
| container: | |
| image: nvidia/cuda:12.4.1-devel-ubuntu22.04 | |
| steps: | |
| - name: Install dependencies | |
| run: apt-get update && apt-get install -y cmake git build-essential | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Configure | |
| run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON | |
| - name: Build | |
| run: cmake --build build -j2 | |
| - name: Run CPU tests | |
| run: ctest --test-dir build -L cpu --output-on-failure | |
| - name: Info | |
| run: | | |
| echo "✅ CUDA compilation successful for all targets (benchmark + tests)" | |
| echo "✅ CPU-only tests passed" | |
| echo "ℹ️ GPU runtime tests require a CUDA-capable machine" |