Skip to content

Commit 1ebb2d2

Browse files
committed
User Story 38351: Add Debug CI runs
- Changed default build configuration from Release to Debug for CI-SqlClient[-Package] pipelines. - Plumbed 'builConfiguration' template parameter down through all of the pipeline YML files. - Removed the pipeline variable $(Configuration) in favour of buildConfiguration parameter. - Added environment variable override for unit test config file. - Removed triggers and schedules from existing CI pipelines. - Added new pipeline for triggers and schedules that uses Release configuration. - Commented out some failing assertions. - Inhibited the ConnectionPoolTestDebug tests from running since they are flaky. - Commented out more flaky tests. - Doubling the test job timeout for Debug builds. - Fixed a test that incorrectly consumes an exception when it shouldn't. - Added diagnostics to Enclave tests that are failing to help diagnose the issues. - Commented out a failing Debug.Assert(). - Expanded error detection in one test. - Commented out another failing Debug.Assert(). - Fixed exception type check to look for the actual exceptions being thrown.
1 parent 02c9c21 commit 1ebb2d2

35 files changed

+300
-187
lines changed

eng/pipelines/common/templates/jobs/build-signed-package-job.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,4 @@ jobs:
6565
parameters:
6666
publishSymbols: ${{ parameters['PublishSymbols'] }}
6767
symbolsArtifactName: mds_symbols_$(System.TeamProject)_$(Build.Repository.Name)_$(Build.SourceBranchName)_$(NuGetPackageVersion)_$(System.TimelineId)
68+
buildConfiguration: Release

eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ parameters:
2020
type: string
2121
default: $(Platform)
2222

23-
- name: configuration
23+
- name: buildConfiguration
2424
type: string
25-
default: $(Configuration)
25+
default: Debug
26+
values:
27+
- Debug
28+
- Release
2629

2730
- name: prebuildSteps
2831
type: stepList
@@ -47,14 +50,14 @@ jobs:
4750
- template: ../steps/ci-project-build-step.yml@self
4851
parameters:
4952
platform: ${{ parameters.platform }}
50-
configuration: ${{ parameters.configuration }}
53+
buildConfiguration: ${{ parameters.buildConfiguration }}
5154
operatingSystem: Windows
5255
build: all
5356

5457
- template: ../steps/generate-nuget-package-step.yml@self
5558
parameters:
5659
NugetPackageVersion: $(NugetPackageVersion)
57-
configuration: $(Configuration)
60+
buildConfiguration: ${{ parameters.buildConfiguration }}
5861
nuspecPath: 'tools/specs/Microsoft.Data.SqlClient.nuspec'
5962
OutputDirectory: $(packagePath)
6063
generateSymbolsPackage: false
@@ -63,7 +66,7 @@ jobs:
6366
- template: ../steps/generate-nuget-package-step.yml@self
6467
parameters:
6568
NugetPackageVersion: $(NugetPackageVersion)
66-
configuration: $(Configuration)
69+
buildConfiguration: ${{ parameters.buildConfiguration }}
6770
nuspecPath: 'tools/specs/add-ons/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.nuspec'
6871
OutputDirectory: $(packagePath)
6972
generateSymbolsPackage: false

eng/pipelines/common/templates/jobs/ci-run-tests-job.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,7 @@ parameters:
7575

7676
# The timeout, in minutes, for this job.
7777
- name: timeout
78-
type: string
79-
default: 90
78+
type: number
8079

8180
jobs:
8281
- job: ${{ format('{0}', coalesce(parameters.jobDisplayName, parameters.image, 'unknown_image')) }}

eng/pipelines/common/templates/jobs/run-tests-package-reference-job.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ parameters:
2222

2323
# The timeout, in minutes, for this job.
2424
- name: timeout
25-
type: string
26-
default: 90
25+
type: number
2726

2827
jobs:
2928
- job: run_tests_package_reference

eng/pipelines/common/templates/stages/ci-run-tests-stage.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@ parameters:
3131
default: []
3232

3333
# The timeout, in minutes, for each test job.
34-
- name: testsTimeout
35-
type: string
36-
default: 90
34+
- name: testJobTimeout
35+
type: number
3736

3837
stages:
3938
- ${{ each config in parameters.testConfigurations }}:
@@ -52,7 +51,7 @@ stages:
5251
parameters:
5352
debug: ${{ parameters.debug }}
5453
buildType: ${{ parameters.buildType }}
55-
timeout: ${{ parameters.testsTimeout }}
54+
timeout: ${{ parameters.testJobTimeout }}
5655
poolName: ${{ config.value.pool }}
5756
hostedPool: ${{ eq(config.value.hostedPool, true) }}
5857
image: ${{ image.value }}
@@ -78,7 +77,7 @@ stages:
7877
parameters:
7978
debug: ${{ parameters.debug }}
8079
buildType: ${{ parameters.buildType }}
81-
timeout: ${{ parameters.testsTimeout }}
80+
timeout: ${{ parameters.testJobTimeout }}
8281
poolName: ${{ config.value.pool }}
8382
hostedPool: ${{ eq(config.value.hostedPool, true) }}
8483
image: ${{ image.value }}

eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ parameters:
88
type: string
99
default: $(AssemblyFileVersion)
1010

11-
- name: Configuration
11+
- name: buildConfiguration
1212
type: string
13-
default: '$(Configuration)'
13+
default: Debug
14+
values:
15+
- Debug
16+
- Release
1417

1518
- name: packageRefMdsVersion
1619
type: string
@@ -46,5 +49,5 @@ steps:
4649
displayName: 'BuildAllConfigurations using build.proj'
4750
inputs:
4851
solution: '**/build.proj'
49-
configuration: '${{parameters.Configuration }}'
52+
configuration: '${{parameters.buildConfiguration }}'
5053
msbuildArguments: '-p:AssemblyFileVersion=${{parameters.AssemblyFileVersion }} -t:BuildAllConfigurations -p:GenerateNuget=false -p:SigningKeyPath=$(Agent.TempDirectory)\netfxKeypair.snk'

eng/pipelines/common/templates/steps/build-all-tests-step.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@ parameters:
1515
type: string
1616
default: $(Platform)
1717

18-
- name: configuration
18+
- name: buildConfiguration
1919
type: string
20-
default: '$(Configuration)'
20+
default: Debug
21+
values:
22+
- Debug
23+
- Release
2124

2225
- name: referenceType
2326
default: Package
@@ -39,7 +42,7 @@ steps:
3942
inputs:
4043
solution: build.proj
4144
platform: '${{parameters.platform }}'
42-
configuration: '${{parameters.configuration }}'
45+
configuration: '${{parameters.buildConfiguration }}'
4346
msbuildArguments: '-t:BuildTestsNetFx -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }}'
4447

4548
# - ${{else if contains(parameters.targetFramework, 'netstandard')}}: # .NET Standard
@@ -48,7 +51,7 @@ steps:
4851
# inputs:
4952
# solution: build.proj
5053
# platform: '${{parameters.platform }}'
51-
# configuration: '${{parameters.configuration }}'
54+
# configuration: '${{parameters.buildConfiguration }}'
5255
# msbuildArguments: '-t:BuildTestsNetCore -p:ReferenceType=NetStandard -p:TargetNetStandardVersion=${{parameters.targetNetStandardVersion }} -p:TF=${{parameters.targetFramework }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }}'
5356
# condition: and(succeeded(), not(startsWith(variables['TF'], 'net4')), startsWith(variables['TargetNetStandardVersion'], 'netstandard'))
5457

@@ -58,7 +61,7 @@ steps:
5861
inputs:
5962
solution: build.proj
6063
platform: '${{parameters.platform }}'
61-
configuration: '${{parameters.configuration }}'
64+
configuration: '${{parameters.buildConfiguration }}'
6265
msbuildArguments: '-t:BuildTestsNetCore -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }}'
6366
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
6467

@@ -69,7 +72,7 @@ steps:
6972
command: custom
7073
projects: build.proj
7174
custom: msbuild
72-
arguments: '-t:BuildTestsNetCore -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }} -p:OSGroup=${{parameters.OSGroup }} -p:platform=${{parameters.platform }} -p:Configuration=${{parameters.configuration }}'
75+
arguments: '-t:BuildTestsNetCore -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }} -p:OSGroup=${{parameters.OSGroup }} -p:platform=${{parameters.platform }} -p:Configuration=${{parameters.buildConfiguration }}'
7376
verbosityRestore: Detailed
7477
verbosityPack: Detailed
7578
condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT'))

eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ parameters:
88
type: string
99
default: $(TargetNetCoreVersion)
1010

11-
- name: configuration
11+
- name: buildConfiguration
1212
type: string
13-
default: $(Configuration)
13+
default: Debug
14+
values:
15+
- Debug
16+
- Release
1417

1518
- name: referenceType
1619
default: Project
@@ -55,14 +58,14 @@ steps:
5558
inputs:
5659
solution: build.proj
5760
msbuildArchitecture: x64
58-
msbuildArguments: '-p:Configuration=${{parameters.configuration }} -t:BuildAKVNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
61+
msbuildArguments: '-p:Configuration=${{parameters.buildConfiguration }} -t:BuildAKVNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
5962

6063
- task: MSBuild@1
6164
displayName: 'MSBuild Build Tests for ${{parameters.TargetNetCoreVersion }}'
6265
inputs:
6366
solution: build.proj
6467
msbuildArchitecture: x64
65-
msbuildArguments: '-t:BuildTestsNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:Configuration=${{parameters.configuration }}'
68+
msbuildArguments: '-t:BuildTestsNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:Configuration=${{parameters.buildConfiguration }}'
6669

6770
# Don't run unit tests using package reference. Unit tests are only run using project reference.
6871

@@ -71,12 +74,12 @@ steps:
7174
inputs:
7275
command: test
7376
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
74-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.configuration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests"'
77+
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests"'
7578

7679
- task: DotNetCoreCLI@2
7780
displayName: 'Run Manual Tests for ${{parameters.TargetNetCoreVersion }}'
7881
inputs:
7982
command: test
8083
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
81-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.configuration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests --collect "Code Coverage"'
84+
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter category!=nonnetcoreapptests&category!=failing&category!=nonwindowstests --collect "Code Coverage"'
8285
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}

eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ parameters:
88
type: string
99
default: $(TargetNetFxVersion)
1010

11-
- name: configuration
11+
- name: buildConfiguration
1212
type: string
13-
default: $(Configuration)
13+
default: Debug
14+
values:
15+
- Debug
16+
- Release
1417

1518
- name: referenceType
1619
default: Project
@@ -55,13 +58,13 @@ steps:
5558
inputs:
5659
solution: build.proj
5760
msbuildArchitecture: x64
58-
msbuildArguments: '-p:Configuration=${{parameters.configuration }} -t:BuildAKVNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
61+
msbuildArguments: '-p:Configuration=${{parameters.buildConfiguration }} -t:BuildAKVNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
5962

6063
- task: MSBuild@1
6164
displayName: 'MSBuild Build Tests for ${{parameters.TargetNetFxVersion }}'
6265
inputs:
6366
solution: build.proj
64-
msbuildArguments: ' -t:BuildTestsNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:Configuration=${{parameters.configuration }} -p:Platform=${{parameters.platform }}'
67+
msbuildArguments: ' -t:BuildTestsNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:Configuration=${{parameters.buildConfiguration }} -p:Platform=${{parameters.platform }}'
6568

6669
# Don't run unit tests using package reference. Unit tests are only run using project reference.
6770

@@ -70,12 +73,12 @@ steps:
7073
inputs:
7174
command: test
7275
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
73-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.configuration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests" --collect "Code Coverage"'
76+
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests" --collect "Code Coverage"'
7477

7578
- task: DotNetCoreCLI@2
7679
displayName: 'Run Manual Tests for ${{parameters.TargetNetFxVersion }}'
7780
inputs:
7881
command: test
7982
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
80-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.configuration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests" --collect "Code Coverage"'
83+
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=nonnetfxtests&category!=failing&category!=nonwindowstests" --collect "Code Coverage"'
8184
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}

eng/pipelines/common/templates/steps/ci-project-build-step.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ parameters:
88
type: string
99
default: $(Platform)
1010

11-
- name: configuration
11+
- name: buildConfiguration
1212
type: string
13-
default: $(Configuration)
14-
13+
default: Debug
14+
values:
15+
- Debug
16+
- Release
17+
1518
- name: buildNumber
1619
type: string
1720
default: $(BuildNumber)
@@ -64,7 +67,7 @@ steps:
6467
solution: build.proj
6568
msbuildArchitecture: x64
6669
platform: '${{ parameters.platform }}'
67-
configuration: '${{ parameters.configuration }}'
70+
configuration: '${{ parameters.buildConfiguration }}'
6871
msbuildArguments: '-t:BuildAllConfigurations -p:GenerateDocumentationFile=false -p:GenerateNuGet=false -p:BuildNumber=${{ parameters.buildNumber }}'
6972
clean: true
7073

@@ -76,7 +79,7 @@ steps:
7679
solution: build.proj
7780
msbuildArchitecture: x64
7881
platform: '${{ parameters.platform }}'
79-
configuration: '${{ parameters.configuration }}'
82+
configuration: '${{ parameters.buildConfiguration }}'
8083
msbuildArguments: '-t:BuildAllConfigurations -p:GenerateNuGet=false -p:BuildNumber=${{ parameters.buildNumber }}'
8184
clean: true
8285

@@ -88,7 +91,7 @@ steps:
8891
solution: build.proj
8992
msbuildArchitecture: x64
9093
platform: '${{ parameters.platform }}'
91-
configuration: '${{ parameters.configuration }}'
94+
configuration: '${{ parameters.buildConfiguration }}'
9295
msbuildArguments: '-t:BuildAKVNetFx -p:BuildNumber=${{ parameters.buildNumber }}'
9396

9497
- task: MSBuild@1
@@ -98,7 +101,7 @@ steps:
98101
solution: build.proj
99102
msbuildArchitecture: x64
100103
platform: '${{ parameters.platform }}'
101-
configuration: '${{ parameters.configuration }}'
104+
configuration: '${{ parameters.buildConfiguration }}'
102105
msbuildArguments: '-t:BuildAKVNetCoreAllOS -p:BuildNumber=${{ parameters.buildNumber }}'
103106

104107
- ${{ if or(eq(parameters.operatingSystem, 'Linux'), eq(parameters.operatingSystem, 'MacOS'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}:
@@ -109,7 +112,7 @@ steps:
109112
command: custom
110113
projects: build.proj
111114
custom: msbuild
112-
arguments: '-t:BuildAll -p:TestEnabled=true -p:GenerateDocumentationFile=false -p:configuration=${{ parameters.configuration }}'
115+
arguments: '-t:BuildAll -p:TestEnabled=true -p:GenerateDocumentationFile=false -p:configuration=${{ parameters.buildConfiguration }}'
113116
verbosityRestore: Detailed
114117
verbosityPack: Detailed
115118
retryCountOnTaskFailure: 1

0 commit comments

Comments
 (0)