From 61937db0b3b0d7e8c6407863771ef02db77761c3 Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Wed, 19 Jun 2024 17:07:52 +0200 Subject: [PATCH] Fix SonarCloud integration (#1123) * Use sonarscanner global dotnet tool * io * jdk? * JAVA_HOME_17_X64 * /d:sonar.pullrequest.base=master * /d:sonar.pullrequest.branch=$(Build.SourceBranch) * /d:sonar.pullrequest.key=$(Build.BuildNumber) * /d:sonar.pullrequest.branch=$(Build.SourceBranchName) * ... * $(System.PullRequest.PullRequestId) * --- * PR? * cleanup --- azure-pipelines-ci.yml | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/azure-pipelines-ci.yml b/azure-pipelines-ci.yml index 08bd71ee..9b516401 100644 --- a/azure-pipelines-ci.yml +++ b/azure-pipelines-ci.yml @@ -14,53 +14,42 @@ jobs: echo "BuildId = $(buildId)" displayName: 'Print buildId' - - task: UseDotNet@2 - displayName: Use .NET 8.0 - inputs: - packageType: 'sdk' - version: '8.0.x' + - script: | + dotnet tool install --global dotnet-sonarscanner + displayName: 'Install SonarScanner tool' - task: PowerShell@2 - displayName: "Use JDK11 by default" + displayName: "Use JDK17 by default" inputs: targetType: 'inline' script: | - $jdkPath = $env:JAVA_HOME_11_X64 + $jdkPath = $env:JAVA_HOME_17_X64 Write-Host "##vso[task.setvariable variable=JAVA_HOME]$jdkPath" - script: | dotnet dev-certs https --trust || true displayName: 'dotnet dev-certs https' - - task: SonarCloudPrepare@1 - displayName: 'Prepare analysis on SonarCloud' + - script: | + dotnet sonarscanner begin /k:"WireMock-Net_WireMock.Net" /o:"wiremock-net" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.token="$(SONAR_TOKEN)" /d:sonar.dotnet.excludeTestProjects=true /d:sonar.cs.opencover.reportsPaths=**/coverage.net8.0.opencover.xml /d:sonar.verbose=true + displayName: 'Begin analysis on SonarCloud' condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests - inputs: - SonarCloud: SonarCloud - organization: wiremock-net - projectKey: 'WireMock-Net_WireMock.Net' - projectName: 'WireMock.Net' - extraProperties: | - sonar.cs.opencover.reportsPaths=**/coverage.net8.0.opencover.xml - task: DotNetCoreCLI@2 displayName: 'Build Unit tests' inputs: command: 'build' projects: './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj' - arguments: '--configuration Debug --framework net8.0' + arguments: '--configuration Debug --framework net8.0 --no-incremental' - task: CmdLine@2 inputs: script: 'dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --no-build --configuration Debug --framework net8.0' displayName: 'Execute Unit Tests with Coverage' - - - task: SonarCloudAnalyze@1 - displayName: 'SonarCloud: Run Code Analysis' - condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests - - task: SonarCloudPublish@1 - displayName: 'SonarCloud: Publish Quality Gate Result' + - script: | + dotnet sonarscanner end /d:sonar.token="$(SONAR_TOKEN)" + displayName: 'End analysis on SonarCloud' condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests - task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@19