-
Notifications
You must be signed in to change notification settings - Fork 329
Expand file tree
/
Copy pathsqlclient-pr-package-ref-pipeline.yml
More file actions
143 lines (126 loc) · 4.33 KB
/
sqlclient-pr-package-ref-pipeline.yml
File metadata and controls
143 lines (126 loc) · 4.33 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
#################################################################################
# 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 pipeline builds and tests the following packages using package
# references:
#
# - Microsoft.SqlServer.Server
# - Microsoft.Data.SqlClient
# - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider
#
# It is triggered by pushes to PRs that target dev/ and feature/ branches, and
# the main branch in GitHub.
#
# It maps to the "PR-SqlClient-Package" pipeline in the Public project:
#
# https://dev.azure.com/SqlClientDrivers/public/_build?definitionId=2198
# Set the pipeline run name to the day-of-year and the daily run counter.
name: $(DayOfYear)$(Rev:rr)
# Trigger PR validation runs for all pushes to PRs that target the specified
# branches.
#
# https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#pr-triggers
#
pr:
branches:
include:
# GitHub repo branch targets that will trigger PR validation builds.
- copilot/*
- dev/*
- feat/*
- main
paths:
include:
- .azuredevops
- .config
- doc
- eng/pipelines
- src
- tools
- azurepipelines-coverage.yml
- build.proj
- NuGet.config
# Do not trigger commit or schedule runs for this pipeline.
trigger: none
# Pipeline parameters, visible in the Azure DevOps UI.
parameters:
# The build configuration to use; defaults to Debug.
- name: buildConfiguration
displayName: Build Configuration
type: string
default: Debug
values:
- Debug
- Release
- name: buildPlatforms
displayName: Build Platforms on Windows
type: object
default: [AnyCPU]
- name: codeCovTargetFrameworks
displayName: Code Coverage Target Frameworks
type: object
default: [net462, net8.0, net9.0]
- name: debug
displayName: Enable debug output
type: boolean
default: false
- name: enableStressTests
displayName: Enable Stress Tests
type: boolean
default: false
# The target frameworks to build and run tests for on Windows.
#
# These are _not_ the target frameworks to build the driver packages for.
#
# Note: We are excluding .NET 10.0 here to avoid consuming too many resources
# during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0.
#
- name: targetFrameworks
displayName: Target Frameworks on Windows
type: object
default: [net462, net8.0, net9.0]
# The target frameworks to build and run tests for on Unix.
#
# These are _not_ the target frameworks to build the driver packages for.
#
# Note: We are excluding .NET 10.0 here to avoid consuming too many resources
# during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0.
#
- name: targetFrameworksUnix
displayName: Target Frameworks on Unix
type: object
default: [net8.0, net9.0]
# The timeout, in minutes, for each test job.
- name: testJobTimeout
displayName: Test job timeout (in minutes)
type: number
default: 90
- name: testSets
displayName: Test Sets
type: object
default: [1, 2, 3]
- name: useManagedSNI
displayName: |
Use Managed/Native SNI on Windows,
values [false, true], [false] or [true] are allowed
type: object
default: [false, true]
extends:
template: /eng/pipelines/dotnet-sqlclient-ci-core.yml@self
parameters:
buildConfiguration: ${{ parameters.buildConfiguration }}
buildPlatforms: ${{ parameters.buildPlatforms }}
referenceType: Package
codeCovTargetFrameworks: ${{ parameters.codeCovTargetFrameworks }}
debug: ${{ parameters.debug }}
enableStressTests: ${{ parameters.enableStressTests }}
targetFrameworks: ${{ parameters.targetFrameworks }}
targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }}
testJobTimeout: ${{ parameters.testJobTimeout }}
testSets: ${{ parameters.testSets }}
useManagedSNI: ${{ parameters.useManagedSNI }}
# Don't run the AE tests in Debug mode; they rarely succeed.
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
runAlwaysEncryptedTests: false