# ref: https://github.com/actions/runner-images name: amd64 Linux CMake Python on: [push, pull_request, workflow_dispatch] # Building using the github runner environement directly. jobs: native: strategy: matrix: cmake: [ {generator: "Ninja", config: Release, build_target: all, test_target: test, install_target: install}, {generator: "Ninja Multi-Config", config: Release, build_target: all, test_target: test, install_target: install}, {generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install}, ] python: [ {version: "3.9"}, {version: "3.10"}, {version: "3.11"}, {version: "3.12"}, ] fail-fast: false name: Linux • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Ninja run: | sudo apt update sudo apt install -y ninja-build - name: Swig install run: | sudo apt install -y swig swig -version - name: Setup Python uses: actions/setup-python@v4 with: python-version: ${{ matrix.python.version }} - name: Update Path run: echo "$HOME/.local/bin" >> $GITHUB_PATH - name: Check cmake run: cmake --version - name: Configure run: > cmake -S. -Bbuild -G "${{ matrix.cmake.generator }}" -DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }} -DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DBUILD_PYTHON=ON -DCMAKE_INSTALL_PREFIX=install - name: Build run: > cmake --build build --config ${{ matrix.cmake.config }} --target ${{ matrix.cmake.build_target }} -v -j2 - name: Test run: > CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config ${{ matrix.cmake.config }} --target ${{ matrix.cmake.test_target }} -v - name: Install run: > cmake --build build --config ${{ matrix.cmake.config }} --target ${{ matrix.cmake.install_target }} -v