# ref: https://github.com/actions/runner-images name: amd64 Linux CMake Python on: [push, pull_request, workflow_dispatch] concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: true # Building using the github runner environement directly. jobs: native: strategy: matrix: cmake: [ {name: "Make", generator: "Unix Makefiles", config: Release}, {name: "Ninja", generator: "Ninja", config: Release}, {name: "Ninja Multi", generator: "Ninja Multi-Config", config: Release}, ] python: [ {version: "3.9"}, {version: "3.10"}, {version: "3.11"}, {version: "3.12"}, {version: "3.13"}, ] fail-fast: false name: amd64•Linux•CMake(${{matrix.cmake.name}})•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@v5 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 all -v -j2 - name: Test run: > CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config ${{matrix.cmake.config}} --target test -v - name: Install run: > cmake --build build --config ${{matrix.cmake.config}} --target install -v amd64_linux_cmake_python: runs-on: ubuntu-latest needs: native steps: - uses: actions/checkout@v4