Handling coverage in the CI

This commit is contained in:
Zoe Roux 2021-06-27 22:16:13 +02:00
parent b5f31eba02
commit 23977eed1f
2 changed files with 25 additions and 13 deletions

View File

@ -2,7 +2,7 @@ name: Analysis
on: [push, pull_request]
jobs:
build:
analysis:
name: Static Analysis
runs-on: ubuntu-latest
steps:
@ -28,16 +28,27 @@ jobs:
run: |
mkdir -p ./.sonar/scanner
dotnet tool update dotnet-sonarscanner --tool-path ./.sonar/scanner
- name: Wait for tests to run
uses: lewagon/wait-on-check-action@master
with:
ref: ${{github.ref}}
check-name: tests
repo-token: ${{secrets.GITHUB_TOKEN}}
running-workflow-name: analysis
allowed-conclusions: success,skipped,cancelled,neutral,failed
- name: Download coverage report
uses: dawidd6/action-download-artifact@v2
with:
commit: ${{env.COMMIT_SHA}}
workflow: tests.yml
name: coverage.xml
github_token: ${{secrets.GITHUB_TOKEN}}
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: bash
run: |
dotnet test \
'-p:CollectCoverage=true;CoverletOutputFormat=opencover' \
'-p:SkipTranscoder=true;SkipWebApp=true' || echo "Test failed. Skipping..."
dotnet build-server shutdown
./.sonar/scanner/dotnet-sonarscanner begin \
@ -45,7 +56,7 @@ jobs:
-o:"anonymus-raccoon" \
-d:sonar.login="${{ secrets.SONAR_TOKEN }}" \
-d:sonar.host.url="https://sonarcloud.io" \
-d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml"
-d:sonar.cs.opencover.reportsPaths="./coverage.xml"
dotnet build --no-incremental '-p:SkipTranscoder=true;SkipWebApp=true'

View File

@ -3,7 +3,7 @@ name: Testing
on: [push, pull_request]
jobs:
build:
tests:
runs-on: ubuntu-latest
container: mcr.microsoft.com/dotnet/sdk:5.0
services:
@ -18,17 +18,18 @@ jobs:
--health-retries 5
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore '-p:SkipWebApp=true;SkipTranscoder=true'
- name: Test
run: dotnet test --no-build
run: dotnet test --no-build '-p:CollectCoverage=true;CoverletOutputFormat=opencover'
env:
POSTGRES_HOST: postgres
POSTGRES_USERNAME: postgres
POSTGRES_PASSWORD: postgres
- name: Upload coverage report
uses: actions/upload-artifact@v2
with:
name: coverage.xml
path: "**/coverage.opencover.xml"