Skip to content

Commit 7be3371

Browse files
authored
Enable new PR pipelines (#3759)
1 parent 609ce09 commit 7be3371

5 files changed

+66
-44
lines changed

eng/pipelines/dotnet-sqlclient-ci-core.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,12 @@ parameters:
8484
- name: testJobTimeout
8585
type: number
8686

87+
# If true, the Always Encrypted (AE) test set will be run, which requires
88+
# Enclave-enabled SQL Server instances.
89+
- name: runAlwaysEncryptedTests
90+
type: boolean
91+
default: true
92+
8793
variables:
8894
- template: libraries/ci-build-variables.yml@self
8995

@@ -394,7 +400,9 @@ stages:
394400
LocalDbAppName: $(LocalDbAppName)
395401
LocalDbSharedInstanceName: $(LocalDbSharedInstanceName)
396402

397-
${{ if eq(variables['system.pullRequest.isFork'], 'False') }}: # only run enclave jobs if the password is available
403+
# Only run the AE tests if enable and if we have access to the necessary
404+
# secrets.
405+
${{ if and(eq(parameters.runAlwaysEncryptedTests, true), eq(variables['system.pullRequest.isFork'], 'False')) }}:
398406
windows_enclave_sql:
399407
pool: ADO-CI-AE-1ES-Pool
400408
images:
@@ -481,7 +489,9 @@ stages:
481489
LocalDbAppName: $(LocalDbAppName)
482490
LocalDbSharedInstanceName: $(LocalDbSharedInstanceName)
483491

484-
${{ if eq(variables['system.pullRequest.isFork'], 'False') }}: # only run enclave jobs if the password is available
492+
# Only run the AE tests if enable and if we have access to the necessary
493+
# secrets.
494+
${{ if and(eq(parameters.runAlwaysEncryptedTests, true), eq(variables['system.pullRequest.isFork'], 'False')) }}:
485495
linux_enclave_sql:
486496
pool: ADO-CI-AE-1ES-Pool
487497
images:

eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@
1111
# - Microsoft.Data.SqlClient
1212
# - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider
1313
#
14-
# It runs via CI push triggers and schedules:
14+
# It runs via CI push triggers and schedules and uses the Release build
15+
# configuration:
1516
#
1617
# - Commits to GitHub main
1718
# - Commits to ADO internal/main
18-
# - Weekdays at 01:00 UTC on GitHub main
19-
# - Thursdays at 03:00 UTC on ADO internal/main
19+
# - Weekdays at 03:00 UTC on GitHub main
20+
# - Thursdays at 07:00 UTC on ADO internal/main
2021
#
2122
# GOTCHA: This pipeline definition is triggered by GitHub _and_ ADO CI. We are
2223
# able to define different triggers and schedules using branch filters:
@@ -45,7 +46,8 @@ name: $(DayOfYear)$(Rev:rr)
4546
# Trigger this pipeline on commits to certain branches.
4647
trigger:
4748

48-
# Don't trigger a new run until the previous one completes.
49+
# Don't trigger a new run until the previous one completes. This may cause
50+
# multiple commits to be batched into a single run.
4951
batch: true
5052

5153
branches:
@@ -60,8 +62,9 @@ trigger:
6062
include:
6163
- .azuredevops
6264
- .config
63-
- src
65+
- doc
6466
- eng
67+
- src
6568
- tools
6669
- azurepipelines-coverage.yml
6770
- build.proj
@@ -72,15 +75,15 @@ schedules:
7275

7376
# GitHub main on weekdays
7477
- cron: '0 3 * * Mon-Fri'
75-
displayName: Weekday Release Build
78+
displayName: Weekday Run (Release Config)
7679
branches:
7780
include:
7881
- main
7982
always: true
8083

8184
# ADO internal/main on Thursdays.
82-
- cron: '0 5 * * Thu'
83-
displayName: Thursday Release Build
85+
- cron: '0 7 * * Thu'
86+
displayName: Thursday Run (Release Config)
8487
branches:
8588
include:
8689
- internal/main
@@ -162,10 +165,10 @@ extends:
162165
# specified. We choose different values depending on the build
163166
# configuration.
164167
${{ if eq(parameters.testJobTimeout, 'Default') }}:
165-
# If the build configuration is Debug, double the test job timeout value.
166-
# Some of our tests currently take much longer to run in Debug mode.
168+
# If the build configuration is Debug, we allow a bit of extra time since
169+
# some tests run more slowly, and some tests are Debug only.
167170
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
168-
testJobTimeout: 180
171+
testJobTimeout: 110
169172
${{ else }}:
170173
testJobTimeout: 90
171174
${{ else }}:

eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@
1111
# - Microsoft.Data.SqlClient
1212
# - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider
1313
#
14-
# It runs via CI push triggers and schedules:
14+
# It runs via CI push triggers and schedules and uses the Release build
15+
# configuration:
1516
#
1617
# - Commits to GitHub main
1718
# - Commits to ADO internal/main
1819
# - Weekdays at 01:00 UTC on GitHub main
19-
# - Thursdays at 03:00 UTC on ADO internal/main
20+
# - Thursdays at 05:00 UTC on ADO internal/main
2021
#
2122
# GOTCHA: This pipeline definition is triggered by GitHub _and_ ADO CI. We are
2223
# able to define different triggers and schedules using branch filters:
@@ -45,7 +46,8 @@ name: $(DayOfYear)$(Rev:rr)
4546
# Trigger this pipeline on commits to certain branches.
4647
trigger:
4748

48-
# Don't trigger a new run until the previous one completes.
49+
# Don't trigger a new run until the previous one completes. This may cause
50+
# multiple commits to be batched into a single run.
4951
batch: true
5052

5153
branches:
@@ -60,8 +62,9 @@ trigger:
6062
include:
6163
- .azuredevops
6264
- .config
63-
- src
65+
- doc
6466
- eng
67+
- src
6568
- tools
6669
- azurepipelines-coverage.yml
6770
- build.proj
@@ -72,15 +75,15 @@ schedules:
7275

7376
# GitHub main on weekdays
7477
- cron: '0 1 * * Mon-Fri'
75-
displayName: Weekday Release Build
78+
displayName: Weekday Run (Release Config)
7679
branches:
7780
include:
7881
- main
7982
always: true
8083

8184
# ADO internal/main on Thursdays.
82-
- cron: '0 3 * * Thu'
83-
displayName: Thursday Release Build
85+
- cron: '0 5 * * Thu'
86+
displayName: Thursday Run (Release Config)
8487
branches:
8588
include:
8689
- internal/main
@@ -151,7 +154,7 @@ extends:
151154
parameters:
152155
buildConfiguration: ${{ parameters.buildConfiguration }}
153156
buildPlatforms: ${{ parameters.buildPlatforms }}
154-
buildType: Package
157+
buildType: Project
155158
codeCovTargetFrameworks: ${{ parameters.codeCovTargetFrameworks }}
156159
debug: ${{ parameters.debug }}
157160
enableStressTests: ${{ parameters.enableStressTests }}
@@ -162,10 +165,10 @@ extends:
162165
# specified. We choose different values depending on the build
163166
# configuration.
164167
${{ if eq(parameters.testJobTimeout, 'Default') }}:
165-
# If the build configuration is Debug, double the test job timeout value.
166-
# Some of our tests currently take much longer to run in Debug mode.
168+
# If the build configuration is Debug, we allow a bit of extra time since
169+
# some tests run more slowly, and some tests are Debug only.
167170
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
168-
testJobTimeout: 180
171+
testJobTimeout: 110
169172
${{ else }}:
170173
testJobTimeout: 90
171174
${{ else }}:

eng/pipelines/sqlclient-pr-package-ref-pipeline.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
# - Microsoft.Data.SqlClient
1212
# - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider
1313
#
14-
# It is triggered by pushes to PRs for dev/topic/feature branches in GitHub.
14+
# It is triggered by pushes to PRs that target dev/ and feature/ branches, and
15+
# the main branch in GitHub.
1516
#
1617
# It maps to the "PR-SqlClient-Package" pipeline in the Public project:
1718
#
@@ -29,18 +30,17 @@ pr:
2930
branches:
3031
include:
3132
# GitHub repo branch targets that will trigger PR validation builds.
32-
# TODO: Temporarily restricting to my ci-debug branches only.
33-
- dev/paul/ci-debug*
34-
# - dev/*
35-
# - feat/*
36-
# - main
33+
- dev/*
34+
- feat/*
35+
- main
3736

3837
paths:
3938
include:
4039
- .azuredevops
4140
- .config
42-
- src
41+
- doc
4342
- eng
43+
- src
4444
- tools
4545
- azurepipelines-coverage.yml
4646
- build.proj
@@ -122,12 +122,15 @@ extends:
122122
# specified. We choose different values depending on the build
123123
# configuration.
124124
${{ if eq(parameters.testJobTimeout, 'Default') }}:
125-
# If the build configuration is Debug, double the test job timeout value.
126-
# Some of our tests currently take much longer to run in Debug mode.
125+
# If the build configuration is Debug, we allow a bit of extra time since
126+
# some tests run more slowly, and some tests are Debug only.
127127
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
128-
testJobTimeout: 180
128+
testJobTimeout: 110
129129
${{ else }}:
130130
testJobTimeout: 90
131131
${{ else }}:
132132
testJobTimeout: ${{ parameters.testJobTimeout }}
133133
useManagedSNI: ${{ parameters.useManagedSNI }}
134+
# Don't run the AE tests in Debug mode; they rarely succeed.
135+
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
136+
runAlwaysEncryptedTests: false

eng/pipelines/sqlclient-pr-project-ref-pipeline.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
# - Microsoft.Data.SqlClient
1212
# - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider
1313
#
14-
# It is triggered by pushes to PRs for dev/topic/feature branches in GitHub.
14+
# It is triggered by pushes to PRs that target dev/ and feature/ branches, and
15+
# the main branch in GitHub.
1516
#
1617
# It maps to the "PR-SqlClient-Project" pipeline in the Public project:
1718
#
@@ -29,18 +30,17 @@ pr:
2930
branches:
3031
include:
3132
# GitHub repo branch targets that will trigger PR validation builds.
32-
# TODO: Temporarily restricting to my ci-debug branches only.
33-
- dev/paul/ci-debug*
34-
# - dev/*
35-
# - feat/*
36-
# - main
33+
- dev/*
34+
- feat/*
35+
- main
3736

3837
paths:
3938
include:
4039
- .azuredevops
4140
- .config
42-
- src
41+
- doc
4342
- eng
43+
- src
4444
- tools
4545
- azurepipelines-coverage.yml
4646
- build.proj
@@ -122,12 +122,15 @@ extends:
122122
# specified. We choose different values depending on the build
123123
# configuration.
124124
${{ if eq(parameters.testJobTimeout, 'Default') }}:
125-
# If the build configuration is Debug, double the test job timeout value.
126-
# Some of our tests currently take much longer to run in Debug mode.
125+
# If the build configuration is Debug, we allow a bit of extra time since
126+
# some tests run more slowly, and some tests are Debug only.
127127
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
128-
testJobTimeout: 180
128+
testJobTimeout: 110
129129
${{ else }}:
130130
testJobTimeout: 90
131131
${{ else }}:
132132
testJobTimeout: ${{ parameters.testJobTimeout }}
133133
useManagedSNI: ${{ parameters.useManagedSNI }}
134+
# Don't run the AE tests in Debug mode; they rarely succeed.
135+
${{ if eq(parameters.buildConfiguration, 'Debug') }}:
136+
runAlwaysEncryptedTests: false

0 commit comments

Comments
 (0)