-
Notifications
You must be signed in to change notification settings - Fork 329
Expand file tree
/
Copy pathstress-tests-stage.yml
More file actions
150 lines (132 loc) · 5.57 KB
/
stress-tests-stage.yml
File metadata and controls
150 lines (132 loc) · 5.57 KB
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
####################################################################################################
# Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this
# file to you under the MIT license. See the LICENSE file in the project root for more information.
####################################################################################################
# This stage builds and runs stress tests against the SqlClient projects, building them transitively
# as necessary.
#
# The stress tests are located here:
#
# src/Microsoft.Data.SqlClient/tests/StressTests
#
# All tests use a localhost SQL Server configured for SQL auth via the 'sa' user and the generated
# password.
#
# This stage depends on the secrets_stage.
#
# This template defines a stage named 'stress_tests_stage' that can be depended on by downstream
# stages.
parameters:
# The type of build to produce (Debug or Release)
- name: buildConfiguration
type: string
values:
- Debug
- Release
# True to enable debugging steps.
- name: debug
type: boolean
# When true, test failures produce warnings (SucceededWithIssues) but do not fail the job.
# When false, test failures fail the job. All test steps always run regardless of this setting.
- name: warnOnTestFailure
type: boolean
# The verbosity level for the dotnet CLI commands.
- name: dotnetVerbosity
type: string
values:
- quiet
- minimal
- normal
- detailed
- diagnostic
# The list of .NET Framework runtimes to test against.
- name: netFrameworkTestRuntimes
type: object
default: [net462]
# The list of .NET runtimes to test against. These should include the TFMs that SqlClient ships
# as well as any upcoming runtimes being validated (e.g. net10.0 is tested but not yet shipped).
- name: netTestRuntimes
type: object
default: [net8.0, net9.0, net10.0]
stages:
- stage: stress_tests_stage
displayName: Run Stress Tests
dependsOn:
- secrets_stage
variables:
# Bring the SA password from the secrets_stage into scope here.
- name: saPassword
value: $[stageDependencies.secrets_stage.secrets_job.outputs['SaPassword.Value']]
# The 1ES pool name, determined automatically by ADO project:
# - ADO.Net -> ADO-1ES-Pool
# - public -> ADO-CI-1ES-Pool
- name: poolName
${{ if eq(variables['System.TeamProject'], 'ADO.Net') }}:
value: ADO-1ES-Pool
${{ else }}:
value: ADO-CI-1ES-Pool
jobs:
# ----------------------------------------------------------------------------------------------
# Build and test on Linux.
- template: /eng/pipelines/stress/stress-tests-job.yml@self
parameters:
buildConfiguration: ${{ parameters.buildConfiguration }}
debug: ${{ parameters.debug }}
displayNamePrefix: Linux
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
warnOnTestFailure: ${{ parameters.warnOnTestFailure }}
jobNameSuffix: linux
# No .NET Framework runtimes on Linux.
netFrameworkTestRuntimes: []
netTestRuntimes: ${{ parameters.netTestRuntimes }}
poolName: ${{ variables.poolName }}
saPassword: $(saPassword)
sqlSetupStep:
template: /eng/pipelines/common/templates/steps/configure-sql-server-linux-step.yml@self
parameters:
saPassword: $(saPassword)
vmImage: ADO-UB22-SQL22
# ----------------------------------------------------------------------------------------------
# Build and test on Windows
- template: /eng/pipelines/stress/stress-tests-job.yml@self
parameters:
buildConfiguration: ${{ parameters.buildConfiguration }}
debug: ${{ parameters.debug }}
displayNamePrefix: Win
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
warnOnTestFailure: ${{ parameters.warnOnTestFailure }}
jobNameSuffix: windows
# Note that we include the .NET Framework runtimes for test runs on Windows.
netFrameworkTestRuntimes: ${{ parameters.netFrameworkTestRuntimes }}
netTestRuntimes: ${{ parameters.netTestRuntimes }}
poolName: ${{ variables.poolName }}
saPassword: $(saPassword)
sqlSetupStep:
template: /eng/pipelines/common/templates/steps/configure-sql-server-win-step.yml@self
parameters:
saPassword: $(saPassword)
# The Windows images include a suitable .NET Framework runtime, so we don't have to install
# one explicitly.
vmImage: ADO-MMS22-SQL22
# ----------------------------------------------------------------------------------------------
# Build and test on macOS.
- template: /eng/pipelines/stress/stress-tests-job.yml@self
parameters:
buildConfiguration: ${{ parameters.buildConfiguration }}
debug: ${{ parameters.debug }}
displayNamePrefix: macOS
dotnetVerbosity: ${{ parameters.dotnetVerbosity }}
warnOnTestFailure: ${{ parameters.warnOnTestFailure }}
jobNameSuffix: macos
# No .NET Framework runtimes on macOS.
netFrameworkTestRuntimes: []
netTestRuntimes: ${{ parameters.netTestRuntimes }}
# We don't have any 1ES Hosted Pool images for macOS, so we use a generic one from Azure
# Pipelines.
poolName: Azure Pipelines
saPassword: $(saPassword)
sqlSetupStep:
template: /eng/pipelines/common/templates/steps/configure-sql-server-macos-step.yml@self
parameters:
saPassword: $(saPassword)
vmImage: macos-latest