mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-11 21:10:32 +01:00
91 lines
3.7 KiB
YAML
91 lines
3.7 KiB
YAML
pool:
|
|
vmImage: 'windows-2019'
|
|
|
|
variables:
|
|
Prerelease: 'ci'
|
|
buildId: "1$(Build.BuildId)"
|
|
buildProjects: '**/src/**/*.csproj'
|
|
|
|
steps:
|
|
# Print buildId
|
|
- script: |
|
|
echo "BuildId = $(buildId)"
|
|
displayName: 'Print buildId'
|
|
|
|
# Install Tools (SonarScanner)
|
|
- script: |
|
|
dotnet tool install --global dotnet-sonarscanner
|
|
displayName: Install Tools (SonarScanner)
|
|
|
|
# Begin SonarScanner
|
|
# See also
|
|
# - https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools, else you get this error: `Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed.`
|
|
# - https://github.com/dotnet/cli/issues/8368
|
|
# - https://github.com/Microsoft/vsts-tasks/issues/8291
|
|
#
|
|
- script: |
|
|
%USERPROFILE%\.dotnet\tools\dotnet-sonarscanner begin /k:"wiremock" /o:"stefh-github" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="$(SONAR_TOKEN)" /v:"$(buildId)" /d:sonar.cs.opencover.reportsPaths="**\coverage.opencover.xml"
|
|
displayName: Begin SonarScanner
|
|
condition: and(succeeded(), eq(variables['RUN_SONAR'], 'yes'))
|
|
|
|
# Build source, tests and run tests for net452 and netcoreapp3.1 (with coverage)
|
|
- script: |
|
|
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration Debug --framework net452
|
|
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration Debug --framework netcoreapp3.1 --logger trx /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
|
|
displayName: 'Build source, tests and run tests for net452 and netcoreapp3.1 (with coverage)'
|
|
|
|
# End SonarScanner
|
|
- script: |
|
|
%USERPROFILE%\.dotnet\tools\dotnet-sonarscanner end /d:sonar.login="$(SONAR_TOKEN)"
|
|
displayName: End SonarScanner
|
|
condition: and(succeeded(), eq(variables['RUN_SONAR'], 'yes'))
|
|
|
|
- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@19
|
|
displayName: 'WhiteSource Bolt'
|
|
condition: and(succeeded(), eq(variables['RUN_WHITESOURCE'], 'yes'))
|
|
|
|
# Upload coverage to codecov.io
|
|
- script: |
|
|
%USERPROFILE%\.nuget\packages\codecov\1.10.0\tools\codecov.exe -f "./test/WireMock.Net.Tests/coverage.opencover.xml" -t $(CODECOV_TOKEN)
|
|
displayName: Upload coverage to codecov.io
|
|
|
|
# https://github.com/microsoft/azure-pipelines-tasks/issues/12212
|
|
- task: PublishTestResults@2
|
|
condition: and(succeeded(), eq(variables['PUBLISH_TESTRESULTS'], 'yes'))
|
|
inputs:
|
|
testRunner: VSTest
|
|
testResultsFiles: '**/*.trx'
|
|
|
|
# Based on https://whereslou.com/2018/09/versioning-and-publishing-nuget-packages-automatically-using-azure-devops-pipelines/
|
|
- task: DotNetCoreCLI@2
|
|
displayName: Build Release
|
|
inputs:
|
|
command: 'build'
|
|
arguments: /p:Configuration=Release # https://github.com/MicrosoftDocs/vsts-docs/issues/1976
|
|
projects: $(buildProjects)
|
|
|
|
- task: DotNetCoreCLI@2
|
|
displayName: Pack
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
inputs:
|
|
command: pack
|
|
configuration: 'Release'
|
|
packagesToPack: $(buildProjects)
|
|
nobuild: true
|
|
packDirectory: '$(Build.ArtifactStagingDirectory)/packages'
|
|
verbosityPack: 'normal'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: Publish Artifacts
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
inputs:
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
|
|
# https://github.com/NuGet/Home/issues/8148
|
|
- task: DotNetCoreCLI@2
|
|
displayName: Push to MyGet
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
inputs:
|
|
command: custom
|
|
custom: nuget
|
|
arguments: push $(Build.ArtifactStagingDirectory)\packages\*.nupkg -n true -s https://www.myget.org/F/wiremock-net/api/v3/index.json -k $(MyGetKey) |