Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ jobs:
name: GetBuildType

- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
parameters:
buildConfiguration: Release

- template: ../steps/code-analyze-step.yml@self
parameters:
Expand All @@ -50,6 +52,7 @@ jobs:

- template: ../steps/generate-nuget-package-step.yml@self
parameters:
buildConfiguration: Release
OutputDirectory: $(artifactDirectory)

- template: ../steps/esrp-code-signing-step.yml@self
Expand All @@ -58,10 +61,12 @@ jobs:

- template: ../steps/copy-dlls-for-test-step.yml@self
parameters:
buildConfiguration: Release
product: MDS

# Publish symbols to servers
- template: ../steps/publish-symbols-step.yml@self
parameters:
buildConfiguration: Release
publishSymbols: ${{ parameters['PublishSymbols'] }}
symbolsArtifactName: mds_symbols_$(System.TeamProject)_$(Build.Repository.Name)_$(Build.SourceBranchName)_$(NuGetPackageVersion)_$(System.TimelineId)
12 changes: 7 additions & 5 deletions eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ parameters:
type: string
default: $(Platform)

- name: configuration
- name: buildConfiguration
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I standardized on this parameter name, values, and default everywhere.

type: string
default: $(Configuration)
values:
- Debug
- Release

- name: prebuildSteps
type: stepList
Expand All @@ -47,14 +49,14 @@ jobs:
- template: ../steps/ci-project-build-step.yml@self
parameters:
platform: ${{ parameters.platform }}
configuration: ${{ parameters.configuration }}
buildConfiguration: ${{ parameters.buildConfiguration }}
operatingSystem: Windows
build: all

- template: ../steps/generate-nuget-package-step.yml@self
parameters:
NugetPackageVersion: $(NugetPackageVersion)
configuration: $(Configuration)
buildConfiguration: ${{ parameters.buildConfiguration }}
nuspecPath: 'tools/specs/Microsoft.Data.SqlClient.nuspec'
OutputDirectory: $(packagePath)
generateSymbolsPackage: false
Expand All @@ -63,7 +65,7 @@ jobs:
- template: ../steps/generate-nuget-package-step.yml@self
parameters:
NugetPackageVersion: $(NugetPackageVersion)
configuration: $(Configuration)
buildConfiguration: ${{ parameters.buildConfiguration }}
nuspecPath: 'tools/specs/add-ons/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.nuspec'
OutputDirectory: $(packagePath)
generateSymbolsPackage: false
Expand Down
14 changes: 11 additions & 3 deletions eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,18 +65,22 @@ parameters:
- name: operatingSystem
type: string
default: ''

- name: buildConfiguration
type: string
values:
- Debug
- Release

- name: buildType
displayName: 'Build Type'
default: Project
values:
- Project
- Package

# The timeout, in minutes, for this job.
- name: timeout
type: string
default: 90
type: number

jobs:
- job: ${{ format('{0}', coalesce(parameters.jobDisplayName, parameters.image, 'unknown_image')) }}
Expand Down Expand Up @@ -227,6 +231,7 @@ jobs:
- template: ../steps/build-all-tests-step.yml@self # build tests
parameters:
targetFramework: ${{ parameters.targetFramework }}
buildConfiguration: ${{ parameters.buildConfiguration }}
referenceType: ${{ parameters.buildType }}
testSet: ${{ parameters.testSet }}
${{ if ne(parameters.operatingSystem, 'Windows') }}:
Expand All @@ -237,6 +242,7 @@ jobs:
parameters:
debug: ${{ parameters.debug }}
targetFramework: ${{ parameters.targetFramework }}
buildConfiguration: ${{ parameters.buildConfiguration }}
referenceType: ${{ parameters.buildType }}
testSet: ${{ parameters.testSet }}
operatingSystem: ${{ parameters.operatingSystem }}
Expand Down Expand Up @@ -279,6 +285,7 @@ jobs:
parameters:
debug: ${{ parameters.debug }}
targetFramework: ${{ parameters.targetFramework }}
buildConfiguration: ${{ parameters.buildConfiguration }}
referenceType: ${{ parameters.buildType }}
testSet: ${{ parameters.testSet }}
msbuildArchitecture: x86
Expand All @@ -291,3 +298,4 @@ jobs:
debug: ${{ parameters.debug }}
targetFramework: ${{ parameters.targetFramework }}
operatingSystem: ${{ parameters.operatingSystem }}
buildConfiguration: ${{ parameters.buildConfiguration }}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ parameters:

# The timeout, in minutes, for this job.
- name: timeout
type: string
default: 90
type: number

jobs:
- job: run_tests_package_reference
Expand Down Expand Up @@ -67,12 +66,14 @@ jobs:
- template: ../steps/build-and-run-tests-netfx-step.yml
parameters:
referenceType: Package
buildConfiguration: Release
${{ if parameters.isPreview }}:
nugetPackageVersion: $(PreviewNugetPackageVersion)

- template: ../steps/build-and-run-tests-netcore-step.yml
parameters:
referenceType: Package
buildConfiguration: Release
cleanFirst: true
${{ if parameters.isPreview }}:
nugetPackageVersion: $(PreviewNugetPackageVersion)
18 changes: 12 additions & 6 deletions eng/pipelines/common/templates/stages/ci-run-tests-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,17 @@ parameters:
default: ''

- name: buildType
displayName: 'Build Type'
default: Project
values:
- Project
- Package

- name: buildConfiguration
type: string
values:
- Debug
- Release

- name: prebuildSteps
type: stepList
default: []
Expand All @@ -31,9 +36,8 @@ parameters:
default: []

# The timeout, in minutes, for each test job.
- name: testsTimeout
type: string
default: 90
- name: testJobTimeout
type: number

stages:
- ${{ each config in parameters.testConfigurations }}:
Expand All @@ -51,8 +55,9 @@ stages:
- template: ../jobs/ci-run-tests-job.yml@self
parameters:
debug: ${{ parameters.debug }}
buildConfiguration: ${{ parameters.buildConfiguration }}
buildType: ${{ parameters.buildType }}
timeout: ${{ parameters.testsTimeout }}
timeout: ${{ parameters.testJobTimeout }}
poolName: ${{ config.value.pool }}
hostedPool: ${{ eq(config.value.hostedPool, true) }}
image: ${{ image.value }}
Expand All @@ -77,8 +82,9 @@ stages:
- template: ../jobs/ci-run-tests-job.yml@self
parameters:
debug: ${{ parameters.debug }}
buildConfiguration: ${{ parameters.buildConfiguration }}
buildType: ${{ parameters.buildType }}
timeout: ${{ parameters.testsTimeout }}
timeout: ${{ parameters.testJobTimeout }}
poolName: ${{ config.value.pool }}
hostedPool: ${{ eq(config.value.hostedPool, true) }}
image: ${{ image.value }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ parameters:
type: string
default: $(AssemblyFileVersion)

- name: Configuration
- name: buildConfiguration
type: string
default: '$(Configuration)'
values:
- Debug
- Release

- name: packageRefMdsVersion
type: string
Expand Down Expand Up @@ -46,5 +48,5 @@ steps:
displayName: 'BuildAllConfigurations using build.proj'
inputs:
solution: '**/build.proj'
configuration: '${{parameters.Configuration }}'
configuration: '${{parameters.buildConfiguration }}'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MSBuild@1 task has a configuration parameter for the build configuration, which we sometimes use.

msbuildArguments: '-p:AssemblyFileVersion=${{parameters.AssemblyFileVersion }} -t:BuildAllConfigurations -p:GenerateNuget=false -p:SigningKeyPath=$(Agent.TempDirectory)\netfxKeypair.snk'
14 changes: 8 additions & 6 deletions eng/pipelines/common/templates/steps/build-all-tests-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ parameters:
type: string
default: $(Platform)

- name: configuration
- name: buildConfiguration
type: string
default: '$(Configuration)'
values:
- Debug
- Release

- name: referenceType
default: Package
Expand All @@ -39,7 +41,7 @@ steps:
inputs:
solution: build.proj
platform: '${{parameters.platform }}'
configuration: '${{parameters.configuration }}'
configuration: '${{parameters.buildConfiguration }}'
msbuildArguments: '-t:BuildTestsNetFx -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }}'

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

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

Expand All @@ -69,7 +71,7 @@ steps:
command: custom
projects: build.proj
custom: msbuild
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 }}'
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 }}'
verbosityRestore: Detailed
verbosityPack: Detailed
condition: and(succeeded(), ne(variables['Agent.OS'], 'Windows_NT'))
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ parameters:
type: string
default: $(TargetNetCoreVersion)

- name: configuration
- name: buildConfiguration
type: string
default: $(Configuration)
values:
- Debug
- Release

- name: referenceType
default: Project
Expand Down Expand Up @@ -55,14 +57,14 @@ steps:
inputs:
solution: build.proj
msbuildArchitecture: x64
msbuildArguments: '-p:Configuration=${{parameters.configuration }} -t:BuildAKVNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
msbuildArguments: '-p:Configuration=${{parameters.buildConfiguration }} -t:BuildAKVNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And sometimes for MSBuild@1 we manually set the build configuration. Shrug!


- task: MSBuild@1
displayName: 'MSBuild Build Tests for ${{parameters.TargetNetCoreVersion }}'
inputs:
solution: build.proj
msbuildArchitecture: x64
msbuildArguments: '-t:BuildTestsNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:Configuration=${{parameters.configuration }}'
msbuildArguments: '-t:BuildTestsNetCore -p:ReferenceType=${{parameters.referenceType }} -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} -p:Configuration=${{parameters.buildConfiguration }}'

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

Expand All @@ -71,12 +73,12 @@ steps:
inputs:
command: test
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
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"'
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"'

- task: DotNetCoreCLI@2
displayName: 'Run Manual Tests for ${{parameters.TargetNetCoreVersion }}'
inputs:
command: test
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
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"'
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"'
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ parameters:
type: string
default: $(TargetNetFxVersion)

- name: configuration
- name: buildConfiguration
type: string
default: $(Configuration)
values:
- Debug
- Release

- name: referenceType
default: Project
Expand Down Expand Up @@ -55,13 +57,13 @@ steps:
inputs:
solution: build.proj
msbuildArchitecture: x64
msbuildArguments: '-p:Configuration=${{parameters.configuration }} -t:BuildAKVNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'
msbuildArguments: '-p:Configuration=${{parameters.buildConfiguration }} -t:BuildAKVNetFx -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }}'

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

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

Expand All @@ -70,12 +72,12 @@ steps:
inputs:
command: test
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
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"'
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"'

- task: DotNetCoreCLI@2
displayName: 'Run Manual Tests for ${{parameters.TargetNetFxVersion }}'
inputs:
command: test
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
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"'
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"'
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
8 changes: 7 additions & 1 deletion eng/pipelines/common/templates/steps/ci-prebuild-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,14 @@ parameters:
- name: artifactName
type: string
default: Artifacts

- name: buildConfiguration
type: string
values:
- Debug
- Release

- name: buildType
displayName: 'Build Type'
default: Project
values:
- Project
Expand Down Expand Up @@ -55,3 +60,4 @@ steps:
- template: ci-project-build-step.yml@self
parameters:
build: allNoDocs
buildConfiguration: ${{ parameters.buildConfiguration }}
Loading
Loading