ci: add fftw3 and poco dependencies to Ubuntu build workflow #58
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/C++ CI | |
| on: | |
| push: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: lukka/get-cmake@latest | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libfftw3-dev libpoco-dev | |
| - name: cmake | |
| run: cmake -B cmake-build -S . -GNinja && cmake --build cmake-build | |
| - name: install meson | |
| run: python3 -m pip install https://github.com/mesonbuild/meson/releases/download/1.0.0/meson-1.0.0.tar.gz && which meson | |
| sonarcloud: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| # Disabling shallow clone is recommended for improving relevancy of reporting | |
| fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libfftw3-dev libpoco-dev | |
| - name: Generate coverage report | |
| run: | | |
| python3 -m pip install gcovr | |
| gcovr -r . --xml-pretty -o coverage.xml | |
| - name: SonarCloud Scan | |
| uses: sonarsource/sonarcloud-github-action@master | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| - name: Run build-wrapper | |
| run: | | |
| cmake -S . -B build | |
| which build-wrapper-linux-x86_64 || echo "failed while looking for wrapper command" | |
| which ninja || echo "ninja not found" | |
| build-wrapper-linux-x86-64 --out-dir cmake-build-sonarcube-wrap cmake --build build || echo "failed to run wrapper command" | |
| - name: run tox | |
| run: python3 -m pip install tox && tox -e py |