| # Copyright (C) The c-ares project and its contributors |
| # SPDX-License-Identifier: MIT |
| name: SonarCloud |
| on: |
| push: |
| branches: |
| - main |
| # pull_request: |
| # types: [opened, synchronize, reopened] |
| jobs: |
| build: |
| name: Build and analyze |
| runs-on: ubuntu-latest |
| env: |
| BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed |
| steps: |
| - uses: actions/checkout@v3 |
| with: |
| fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis |
| - name: Install sonar-scanner and build-wrapper |
| uses: SonarSource/sonarcloud-github-c-cpp@v2 |
| - uses: awalsh128/cache-apt-pkgs-action@latest |
| with: |
| packages: libgmock-dev |
| version: 1.0 |
| - name: Run build-wrapper |
| run: | |
| mkdir build |
| cmake -DCARES_BUILD_TESTS=ON -S . -B build |
| build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build build/ --config Release |
| - name: Run sonar-scanner |
| env: |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
| run: | |
| sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" |
| |