docs(docker): document full PINEFORGE_OVERRIDES catalog #40
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: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| build_type: [Release, Debug] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Eigen3 (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libeigen3-dev | |
| - name: Install Eigen3 (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install eigen | |
| echo "CMAKE_PREFIX_PATH_EXTRA=$(brew --prefix eigen)" >> "$GITHUB_ENV" | |
| - name: Configure | |
| run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} | |
| - name: Build | |
| run: cmake --build build -j 4 | |
| - name: Test | |
| run: ctest --test-dir build --output-on-failure | |
| - name: C ABI runtime source check | |
| run: python3 scripts/check_c_abi_runtime.py | |
| - name: Install PineForge | |
| run: cmake --install build --prefix "$GITHUB_WORKSPACE/pf_install" | |
| - name: find_package smoke build | |
| shell: bash | |
| env: | |
| WORKSPACE: ${{ github.workspace }} | |
| BUILD_TYPE: ${{ matrix.build_type }} | |
| run: | | |
| set -euo pipefail | |
| EXTRA="${CMAKE_PREFIX_PATH_EXTRA:-}" | |
| PREFIX="${WORKSPACE}/pf_install" | |
| # Pass prefix list to CMake with ';' — ':' is for env vars on Unix only. | |
| CMAKE_PFX="${PREFIX}" | |
| if [[ -n "$EXTRA" ]]; then | |
| CMAKE_PFX="${PREFIX};${EXTRA}" | |
| fi | |
| cmake -S cmake/smoke_consumer -B smoke_build \ | |
| -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \ | |
| -DCMAKE_PREFIX_PATH="${CMAKE_PFX}" | |
| cmake --build smoke_build -j 4 | |
| expected="$(tr -d '[:space:]' < VERSION)" | |
| ./smoke_build/smoke_version | grep -qxF "${expected}" |