-
Notifications
You must be signed in to change notification settings - Fork 1k
/
pr-validation.yaml
190 lines (178 loc) · 6.9 KB
/
pr-validation.yaml
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# Pull request validation for Windows against the `dev` and `master` branches
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference
trigger:
branches:
include:
- dev
- v1.*
- master
- feature/*
pr:
autoCancel: true # indicates whether additional pushes to a PR should cancel in-progress runs for the same PR. Defaults to true
branches:
include: [dev, v1.*, master, feature/*] # branch names which will trigger a build
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
jobs:
- job: DocsSpellcheck
displayName: "Docs: Spellcheck"
pool:
vmImage: ubuntu-20.04
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
clean: false # whether to fetch clean each time
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
- task: NodeTool@0
inputs:
versionSpec: "12.x"
- task: Npm@1
inputs:
command: "custom"
customCommand: "install -g cspell@5.17.0"
- task: CmdLine@2
inputs:
script: 'cspell --config ./docs/cSpell.json "docs/**/*.md"'
- job: DocsMarkdownLinting
displayName: "Docs: Markdown Linting"
pool:
vmImage: ubuntu-latest
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
clean: false # whether to fetch clean each time
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
- task: NodeTool@0
inputs:
versionSpec: "12.x"
- task: Npm@1
inputs:
command: "custom"
customCommand: "install -g markdownlint-cli@0.31.0 markdownlint-rule-titlecase@0.1.0"
- task: CmdLine@2
inputs:
script: 'markdownlint "docs/**/*.md" --rules "markdownlint-rule-titlecase"'
- job: WindowsBuild
displayName: Windows Build
pool:
vmImage: windows-2019
demands: Cmd
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
clean: false # whether to fetch clean each time
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
persistCredentials: true
- task: UseDotNet@2
displayName: "Use .NET 6 SDK 6.0.100"
inputs:
version: 6.0.100
- task: UseDotNet@2
displayName: "Use .NET Core Runtime 3.1.10"
inputs:
packageType: runtime
version: 3.1.10
- task: BatchScript@1
displayName: Windows Build
inputs:
filename: build.cmd
arguments: "buildRelease incremental" # Run an incremental build
continueOnError: true
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- task: CopyFiles@2
displayName: "Copy Build Output"
inputs:
sourceFolder: bin
contents: "*"
targetFolder: $(Build.ArtifactStagingDirectory)
continueOnError: boolean # 'true' if future steps should run even if this step fails; defaults to 'false'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: "incrementalistOutput-$(Build.BuildId)"
- script: "echo 1>&2"
failOnStderr: true
displayName: "If above is partially succeeded, then fail"
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
- template: azure-pipeline.template.yaml
parameters:
name: "netfx_tests_windows"
displayName: ".NET Framework Unit Tests (Windows)"
vmImage: "windows-2019"
scriptFileName: build.cmd
scriptArgs: runTests incremental
outputDirectory: "TestResults"
artifactName: "netfx_tests_windows-$(Build.BuildId)"
- template: azure-pipeline.template.yaml
parameters:
name: "net_core_tests_windows"
displayName: ".NET Core Unit Tests (Windows)"
vmImage: "windows-2019"
scriptFileName: build.cmd
scriptArgs: runTestsNetCore incremental
outputDirectory: "TestResults"
artifactName: "net_core_tests_windows-$(Build.BuildId)"
- template: azure-pipeline.template.yaml
parameters:
name: "net_core_tests_linux"
displayName: ".NET Core Unit Tests (Linux)"
vmImage: "ubuntu-latest"
scriptFileName: "./build.sh"
scriptArgs: runTestsNetCore incremental
outputDirectory: "TestResults"
artifactName: "net_core_tests_linux-$(Build.BuildId)"
- template: azure-pipeline.template.yaml
parameters:
name: "docfx_test"
displayName: "DocFX warning check"
vmImage: "windows-2019"
scriptFileName: build.cmd
scriptArgs: docfx
outputDirectory: "TestResults"
artifactName: "docfx_test-$(Build.BuildId)"
run_if: eq(variables['Build.Reason'], 'PullRequest')
- template: azure-pipeline.template.yaml
parameters:
name: "net_6_tests_windows"
displayName: ".NET 6 Unit Tests (Windows)"
vmImage: "windows-2019"
scriptFileName: build.cmd
scriptArgs: runTestsNet incremental
outputDirectory: "TestResults"
artifactName: "net_6_tests_windows-$(Build.BuildId)"
- template: azure-pipeline.template.yaml
parameters:
name: "net_6_tests_linux"
displayName: ".NET 6 Unit Tests (Linux)"
vmImage: "ubuntu-latest"
scriptFileName: "./build.sh"
scriptArgs: runTestsNet incremental
outputDirectory: "TestResults"
artifactName: "net_6_tests_linux-$(Build.BuildId)"
- template: azure-pipeline.mntr-template.yaml
parameters:
name: "net_core_mntr_windows"
displayName: ".NET Core Multi-Node Tests (Windows)"
vmImage: "windows-2019"
scriptFileName: "build.cmd"
scriptArgs: MultiNodeTestsNetCore incremental
outputDirectory: "TestResults"
artifactName: "net_core_mntr_windows-$(Build.BuildId)"
mntrFailuresDir: 'TestResults\\multinode'
mntrFailuresArtifactName: "net_core_mntr_FAILED_windows-$(Build.BuildId)"
- template: azure-pipeline.mntr-template.yaml
parameters:
name: "net_6_mntr_windows"
displayName: ".NET 6 Multi-Node Tests (Windows)"
vmImage: "windows-2019"
scriptFileName: "build.cmd"
scriptArgs: MultiNodeTestsNet incremental
outputDirectory: "TestResults"
artifactName: "net_6_mntr_windows-$(Build.BuildId)"
mntrFailuresDir: 'TestResults\\multinode'
mntrFailuresArtifactName: "net_6_mntr_FAILED_windows-$(Build.BuildId)"
- template: azure-pipeline.template.yaml
parameters:
name: "nuget_pack"
displayName: "NuGet Pack"
vmImage: "windows-2019"
scriptFileName: build.cmd
scriptArgs: CreateNuget nugetprerelease=dev incremental
outputDirectory: "bin/nuget"
artifactName: "nuget_pack-$(Build.BuildId)"