| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- name: SonarCloud analysis
- on:
- push:
- branches:
- - master
- pull_request:
- types: [opened, synchronize, reopened]
- jobs:
- build:
- name: Build
- runs-on: ubuntu-latest
- container: ghcr.io/nextcloud/continuous-integration-client:client-5.15-11
- env:
- SONAR_SERVER_URL: "https://sonarcloud.io"
- BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
- steps:
- - uses: actions/checkout@v2
- with:
- fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- - name: Restore cache
- uses: actions/cache@v2
- with:
- path: /cache
- key: ${{ runner.os }}
- - name: Run build-wrapper
- run: |
- mkdir build
- cd build
- cmake .. -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DBUILD_COVERAGE=ON -DOPENSSL_ROOT_DIR=/usr/local/lib64
- build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} ninja
- - name: Run tests
- run: |
- cd build
- useradd -m -s /bin/bash test
- chown -R test:test .
- su -c 'xvfb-run ctest --output-on-failure --output-junit testResult.xml' test
- - name: Generate coverage report
- run: |
- cd build
- su -c 'ctest -T Coverage' test
- - name: Run sonar-scanner
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- run: |
- cp sonar-project.properties build
- cd build
- sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"
|