|
|
|
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
|
|
|
name: Sonarcloud
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- "wiki/**"
|
|
|
|
- "**.md"
|
|
|
|
pull_request:
|
|
|
|
paths-ignore:
|
|
|
|
- "wiki/**"
|
|
|
|
- "**.md"
|
|
|
|
|
|
|
|
env:
|
|
|
|
dotnetVersion: "6.0.x"
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
sonarcloud:
|
|
|
|
name: SonarCloud
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
env:
|
|
|
|
DOTNET_ROLL_FORWARD: LatestMajor
|
|
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
steps:
|
|
|
|
- name: Get Source Code
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
fetch-depth: 0 # avoid shallow clone for GitVersion
|
|
|
|
|
|
|
|
- name: Setup dotnet
|
|
|
|
uses: actions/setup-dotnet@v1
|
|
|
|
with:
|
|
|
|
dotnet-version: ${{ env.dotnetVersion }}
|
|
|
|
|
|
|
|
- name: Install GitVersion
|
|
|
|
uses: gittools/actions/gitversion/setup@v0.9.7
|
|
|
|
with:
|
|
|
|
versionSpec: 5.x
|
|
|
|
|
|
|
|
- name: Determine Version
|
|
|
|
uses: gittools/actions/gitversion/execute@v0.9.7
|
|
|
|
id: gitversion
|
|
|
|
|
|
|
|
- name: Install Sonar Scanner
|
|
|
|
run: dotnet tool install --global dotnet-sonarscanner
|
|
|
|
|
|
|
|
- name: Begin Sonar Scanner
|
|
|
|
run: >
|
|
|
|
dotnet sonarscanner begin
|
|
|
|
-o:"recyclarr"
|
|
|
|
-k:"recyclarr_recyclarr"
|
|
|
|
-n:"Recyclarr"
|
|
|
|
-v:"${{ steps.gitversion.outputs.fullSemVer }}"
|
|
|
|
-d:sonar.login="${{ secrets.SONAR_TOKEN }}"
|
|
|
|
-d:sonar.host.url="https://sonarcloud.io"
|
|
|
|
-d:sonar.cs.opencover.reportsPaths="**/TestResults/*/coverage.opencover.xml"
|
|
|
|
|
|
|
|
# Run a full build command because if we just do the tests, it will not build everything.
|
|
|
|
- name: Build
|
|
|
|
run: dotnet build src
|
|
|
|
|
|
|
|
- name: Test
|
|
|
|
run: >
|
|
|
|
dotnet test src
|
|
|
|
--no-build
|
|
|
|
--collect:"XPLat Code Coverage"
|
|
|
|
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover
|
|
|
|
|
|
|
|
- name: End Sonar Scanner
|
|
|
|
run: >
|
|
|
|
dotnet sonarscanner end
|
|
|
|
-d:sonar.login="${{ secrets.SONAR_TOKEN }}"
|