fixing python project #18
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: C++ CI | |
| on: | |
| # We run CI on pushes to the main branch | |
| push: | |
| branches: | |
| - master | |
| # and on all pull requests to the main branch | |
| pull_request: | |
| branches: | |
| - master | |
| # as well as upon manual triggers through the 'Actions' tab of the Github UI | |
| workflow_dispatch: | |
| jobs: | |
| build-and-test: | |
| name: C++ Testing on ${{matrix.os}} | |
| runs-on: ${{matrix.os}} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Install system dependencies (Ubuntu) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential ninja-build libboost-all-dev | |
| - name: Install system dependencies (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install cmake ninja boost | |
| - name: make build directory | |
| run: cmake -E make_directory ${{runner.workspace}}/build | |
| - name: configure cmake | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Debug -DBUILD_DOCS=OFF -DBUILD_PYTHON_BINDINGS=OFF | |
| - name: build | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: cmake --build . | |
| - name: run tests | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: ctest | |
| coverage-test: | |
| name: C++ Coverage Testing | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y lcov cmake build-essential ninja-build libboost-all-dev | |
| - name: make build directory | |
| run: cmake -E make_directory ${{runner.workspace}}/build | |
| - name: configure cmake | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: cmake $GITHUB_WORKSPACE -DCMAKE_CXX_FLAGS="--coverage" -DBUILD_DOCS=OFF -DBUILD_PYTHON_BINDINGS=OFF | |
| - name: build | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: cmake --build . | |
| - name: run tests | |
| shell: bash | |
| working-directory: ${{runner.workspace}}/build | |
| run: ctest | |
| - name: collect coverage report | |
| shell: bash | |
| working-directory: ${{runner.workspace}} | |
| run: | | |
| lcov --directory ./build/src --capture --output-file coverage.info | |
| bash <(curl --connect-timeout 10 --retry 5 -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports" | |