forked from passwordless-lib/fido2-net-lib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
114 lines (111 loc) · 4.02 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# This is the main build configuration, that build and tests the libraries
name: $(Rev:r)
variables:
BuildConfiguration: Release
TargetVmImage: windows-latest
DOTNET_CLI_TELEMETRY_OPTOUT: '1'
jobs:
# Publish the demo website
- job: demo
displayName: Demo build
pool:
vmImage: $(TargetVmImage)
steps:
- task: UseDotNet@2
displayName: 'Use .NET 5.0 SDK'
inputs:
packageType: 'sdk'
version: '5.0.x'
installationPath: $(Agent.ToolsDirectory)/dotnet-demo
- task: UseDotNet@2
displayName: 'Use .NET 6.0 SDK'
inputs:
packageType: 'sdk'
version: '6.0.x'
installationPath: $(Agent.ToolsDirectory)/dotnet-demo
- task: DotNetCoreCLI@2
displayName: 'dotnet restore'
inputs:
command: restore
projects: 'Demo/Demo.csproj'
- task: DotNetCoreCLI@2
displayName: 'dotnet build $(buildConfiguration)'
inputs:
command: build
arguments: '--configuration $(buildConfiguration) --no-restore --nologo "-p:Version=$(Build.BuildNumber)-development"'
projects: 'Demo/Demo.csproj'
- task: DotNetCoreCLI@2
displayName: Publish website [net5.0]
inputs:
command: publish
arguments: '--no-build --nologo --configuration $(BuildConfiguration) --output $(build.ArtifactStagingDirectory)/net5.0 /p:PackageVersion=$(Build.BuildNumber)-development --framework net5.0'
projects: 'Demo/Demo.csproj'
- task: DotNetCoreCLI@2
displayName: Publish website [net6.0]
inputs:
command: publish
arguments: '--no-build --nologo --configuration $(BuildConfiguration) --output $(build.ArtifactStagingDirectory)/net6.0 /p:PackageVersion=$(Build.BuildNumber)-development --framework net6.0'
projects: 'Demo/Demo.csproj'
- task: PublishBuildArtifacts@1
displayName: Copy website to artifacts [net5.0]
inputs:
pathToPublish: $(build.ArtifactStagingDirectory)/net5.0
artifactName: Demo .Net 5.0
- task: PublishBuildArtifacts@1
displayName: Copy website to artifacts [net6.0]
inputs:
pathToPublish: $(build.ArtifactStagingDirectory)/net6.0
artifactName: Demo .Net 6.0
# Run unit tests
- job: tests
displayName: Unit tests
pool:
vmImage: $(TargetVmImage)
steps:
- task: UseDotNet@2
displayName: 'Use .NET 5.0 SDK'
inputs:
packageType: 'sdk'
version: '5.0.x'
installationPath: $(Agent.ToolsDirectory)/dotnet-unit-tests
- task: UseDotNet@2
displayName: 'Use .NET 6.0 SDK'
inputs:
packageType: 'sdk'
version: '6.0.x'
installationPath: $(Agent.ToolsDirectory)/dotnet-unit-tests
- task: DotNetCoreCLI@2
displayName: 'dotnet restore'
inputs:
command: restore
projects: 'Test/Test.csproj'
- task: DotNetCoreCLI@2
displayName: 'dotnet build $(buildConfiguration)'
inputs:
command: build
arguments: '--configuration $(buildConfiguration) --no-restore --nologo "-p:Version=$(Build.BuildNumber)-development"'
projects: 'Test/Test.csproj'
- task: DotNetCoreCLI@2
displayName: Run unit tests
inputs:
command: test
projects: 'Test/Test.csproj'
arguments: '--configuration $(buildConfiguration) --no-restore --no-build --nologo --collect:"XPlat Code Coverage"'
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
displayName: ReportGenerator
inputs:
reports: '$(Agent.TempDirectory)\**\coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)/CodeCoverage'
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
assemblyfilters: '-xunit*'
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)/CodeCoverage/Cobertura.xml'
reportDirectory: '$(Build.SourcesDirectory)/CodeCoverage'
- task: Bash@3
displayName: 'Upload coverage to Codecov'
inputs:
targetType: 'inline'
script: 'bash <(curl -s https://codecov.io/bash) -Z -t 0b864a87-d3bc-4130-b942-81909f1064c0 -f CodeCoverage/Cobertura.xml'