Skip to content

update tests

update tests #44

Workflow file for this run

name: SonarQube
permissions:
contents: read
pull-requests: write
packages: read
on:
push:
branches:
- main
- develop
pull_request:
types: [opened, synchronize, reopened]
jobs:
prep:
runs-on: ubuntu-latest
outputs:
repo_lower: ${{ steps.repo.outputs.repo_lower }}
steps:
- id: repo
run: |
echo "repo_lower=$(echo '${{ github.repository }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
build:
needs: prep
name: Build and analyze
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ needs.prep.outputs.repo_lower }}/devcontainer:stable-amd64
options: --user root
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
env:
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up Python 3.12 for gcovr
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: install gcovr
run: |
python -m pip install gcovr
- name: Install Build Wrapper
uses: SonarSource/sonarqube-scan-action/install-build-wrapper@v5
- name: Run Build Wrapper
run: |
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --workflow --preset coverage
- name: Collect coverage into one XML report
run: |
gcovr --sonarqube > coverage.xml
- name: Run tests to generate coverage statistics
run: |
ctest --test-dir build/coverage
- name: SonarQube Scan
uses: SonarSource/sonarqube-scan-action@v5
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
--define sonar.cfamily.compile-commands="${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json"
--define sonar.coverageReportPaths=coverage.xml