feat(accrete): parametric giant migration behind -r (Phase 1) #249
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
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| # Auto-cancel superseded runs of this workflow on the same ref so redundant | |
| # builds for commits that no longer matter don't starve the free-tier pool. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| # The output layer (PlanetRow.h) uses C++26 static reflection (P2996) + | |
| # annotations (P3394), which currently require GCC >= 16 with -freflection. | |
| # Mainline clang has no reflection, so this project is GCC-16-only and the | |
| # former clang + Windows lanes were dropped. The official gcc:16 image ships | |
| # GCC 16.1 prebuilt; we just add cmake + ninja on top. | |
| container: gcc:16 | |
| name: build-and-test (gcc-16, C++26) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install build tools | |
| run: | | |
| apt-get update | |
| apt-get install -y --no-install-recommends cmake ninja-build | |
| # The `viewer` target needs raylib (GLFW + a display backend) at configure | |
| # time and is unrelated to the generator; keep it out of CI entirely. | |
| - name: Configure | |
| run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DSTARGEN_BUILD_VIEWER=OFF | |
| - name: Build stargen | |
| run: cmake --build build --target stargen -j 2 | |
| - name: Build stargen_tests | |
| run: cmake --build build --target stargen_tests -j 2 | |
| # Skip local-only tests (golden_regression): they byte-compare ~20-sig-fig | |
| # FP output and only match the exact toolchain that produced the goldens. | |
| # They still run locally via verify.sh and the pre-commit hook. | |
| - name: Test | |
| run: ctest --test-dir build --output-on-failure --label-exclude local-only |