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 @@ -65,3 +65,4 @@ jobs:
parameters:
publishSymbols: ${{ parameters['PublishSymbols'] }}
symbolsArtifactName: mds_symbols_$(System.TeamProject)_$(Build.Repository.Name)_$(Build.SourceBranchName)_$(NuGetPackageVersion)_$(System.TimelineId)
buildConfiguration: Release
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This job is only used for official release builds, so we hardcode Release here.

13 changes: 8 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,12 @@ 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)
default: Debug
values:
- Debug
- Release

- name: prebuildSteps
type: stepList
Expand All @@ -47,14 +50,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 +66,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
3 changes: 1 addition & 2 deletions eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ parameters:

# 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
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
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,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 @@ -52,7 +51,7 @@ stages:
parameters:
debug: ${{ parameters.debug }}
buildType: ${{ parameters.buildType }}
timeout: ${{ parameters.testsTimeout }}
timeout: ${{ parameters.testJobTimeout }}
poolName: ${{ config.value.pool }}
hostedPool: ${{ eq(config.value.hostedPool, true) }}
image: ${{ image.value }}
Expand All @@ -78,7 +77,7 @@ stages:
parameters:
debug: ${{ parameters.debug }}
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,12 @@ parameters:
type: string
default: $(AssemblyFileVersion)

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

- name: packageRefMdsVersion
type: string
Expand Down Expand Up @@ -46,5 +49,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'
15 changes: 9 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,12 @@ parameters:
type: string
default: $(Platform)

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

- name: referenceType
default: Package
Expand All @@ -39,7 +42,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 +51,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 +61,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 +72,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,12 @@ parameters:
type: string
default: $(TargetNetCoreVersion)

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

- name: referenceType
default: Project
Expand Down Expand Up @@ -55,14 +58,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 +74,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,12 @@ parameters:
type: string
default: $(TargetNetFxVersion)

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

- name: referenceType
default: Project
Expand Down Expand Up @@ -55,13 +58,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 +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: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 }}
19 changes: 11 additions & 8 deletions eng/pipelines/common/templates/steps/ci-project-build-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ parameters:
type: string
default: $(Platform)

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

default: Debug
values:
- Debug
- Release

- name: buildNumber
type: string
default: $(BuildNumber)
Expand Down Expand Up @@ -64,7 +67,7 @@ steps:
solution: build.proj
msbuildArchitecture: x64
platform: '${{ parameters.platform }}'
configuration: '${{ parameters.configuration }}'
configuration: '${{ parameters.buildConfiguration }}'
msbuildArguments: '-t:BuildAllConfigurations -p:GenerateDocumentationFile=false -p:GenerateNuGet=false -p:BuildNumber=${{ parameters.buildNumber }}'
clean: true

Expand All @@ -76,7 +79,7 @@ steps:
solution: build.proj
msbuildArchitecture: x64
platform: '${{ parameters.platform }}'
configuration: '${{ parameters.configuration }}'
configuration: '${{ parameters.buildConfiguration }}'
msbuildArguments: '-t:BuildAllConfigurations -p:GenerateNuGet=false -p:BuildNumber=${{ parameters.buildNumber }}'
clean: true

Expand All @@ -88,7 +91,7 @@ steps:
solution: build.proj
msbuildArchitecture: x64
platform: '${{ parameters.platform }}'
configuration: '${{ parameters.configuration }}'
configuration: '${{ parameters.buildConfiguration }}'
msbuildArguments: '-t:BuildAKVNetFx -p:BuildNumber=${{ parameters.buildNumber }}'

- task: MSBuild@1
Expand All @@ -98,7 +101,7 @@ steps:
solution: build.proj
msbuildArchitecture: x64
platform: '${{ parameters.platform }}'
configuration: '${{ parameters.configuration }}'
configuration: '${{ parameters.buildConfiguration }}'
msbuildArguments: '-t:BuildAKVNetCoreAllOS -p:BuildNumber=${{ parameters.buildNumber }}'

- ${{ if or(eq(parameters.operatingSystem, 'Linux'), eq(parameters.operatingSystem, 'MacOS'), eq(parameters.operatingSystem, 'deferedToRuntime')) }}:
Expand All @@ -109,7 +112,7 @@ steps:
command: custom
projects: build.proj
custom: msbuild
arguments: '-t:BuildAll -p:TestEnabled=true -p:GenerateDocumentationFile=false -p:configuration=${{ parameters.configuration }}'
arguments: '-t:BuildAll -p:TestEnabled=true -p:GenerateDocumentationFile=false -p:configuration=${{ parameters.buildConfiguration }}'
verbosityRestore: Detailed
verbosityPack: Detailed
retryCountOnTaskFailure: 1
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ steps:

while [ $attempt -le $maxAttempts ]
do

echo "Waiting for SQL Server to start (attempt #$attempt of $maxAttempts)..."

sqlcmd -S 127.0.0.1 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" >> $SQLCMD_ERRORS 2>&1
Expand All @@ -77,6 +78,7 @@ steps:

# Wait before trying again.
sleep $delay

done

# Is the SQL Server ready?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
# See the LICENSE file in the project root for more information. #
#################################################################################
parameters:
- name: Configuration
- name: buildConfiguration
type: string
default: '$(Configuration)'
default: Debug
values:
- Debug
- Release

- name: symbolsFolder
type: string
Expand Down Expand Up @@ -56,11 +59,11 @@ steps:

if ($tf.StartsWith('net4'))
{
Copy-Item "artifacts\${{parameters.referenceType }}\bin\Windows_NT\${{parameters.Configuration }}.AnyCPU\Microsoft.Data.SqlClient\netfx\$tf\Microsoft.Data.SqlClient.dll" "$software\win\$tf" -recurse
Copy-Item "artifacts\${{parameters.referenceType }}\bin\Windows_NT\${{parameters.buildConfiguration }}.AnyCPU\Microsoft.Data.SqlClient\netfx\$tf\Microsoft.Data.SqlClient.dll" "$software\win\$tf" -recurse
}
else
{
Copy-Item "artifacts\${{parameters.referenceType }}\bin\Windows_NT\${{parameters.Configuration }}.AnyCPU\Microsoft.Data.SqlClient\netcore\$tf\Microsoft.Data.SqlClient.dll" "$software\win\$tf" -recurse
Copy-Item "artifacts\${{parameters.referenceType }}\bin\Windows_NT\${{parameters.buildConfiguration }}.AnyCPU\Microsoft.Data.SqlClient\netcore\$tf\Microsoft.Data.SqlClient.dll" "$software\win\$tf" -recurse
}

$symbols = '${{parameters.symbolsFolder}}'
Expand Down
Loading
Loading