Skip to content

Commit df540b1

Browse files
committed
Task 41737: Merge feat/azure-split to main: Step 3 - Tie everything together
- Now using reference type to choose NuGet config file.
1 parent 5685229 commit df540b1

7 files changed

Lines changed: 53 additions & 11 deletions

File tree

NuGet.config

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,5 @@
1414
-->
1515
<add key="governed" value="https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/sqlclient/nuget/v3/index.json" />
1616

17-
<!--
18-
This package source is used by developers and our pipelines builds when we need to reference
19-
packages that are not available on the public nuget.org feed, for example to test MDS that
20-
depends on a version of Abstractions that was just built in the workspace.
21-
-->
22-
<add key="local" value="packages/" />
23-
2417
</packageSources>
2518
</configuration>

NuGet.config.local

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
5+
<!-- Clear all inherited feeds. -->
6+
<clear />
7+
8+
<!--
9+
We do not use the public nuget.org feed. Instead, we use a governed feed maintained by our
10+
SqlClientDrivers ADO organization. Packages must be individually vetted and added to this
11+
feed manually before they will be available for consumption by our builds.
12+
13+
https://sqlclientdrivers.visualstudio.com/public/_artifacts/feed/sqlclient
14+
-->
15+
<add key="governed" value="https://sqlclientdrivers.pkgs.visualstudio.com/public/_packaging/sqlclient/nuget/v3/index.json" />
16+
17+
<!--
18+
This package source is used by developers and our pipelines builds when we need to reference
19+
packages that are not available on the public nuget.org feed, for example to test MDS that
20+
depends on a version of Abstractions that was just built in the workspace.
21+
-->
22+
<add key="local" value="packages/" />
23+
24+
</packageSources>
25+
</configuration>

build.proj

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
<!-- SourceLink variable-->
1111
<DisableSourceLink>false</DisableSourceLink>
1212

13-
<RestoreConfigFile>src\NuGet.config</RestoreConfigFile>
13+
<!-- Use the NuGet.config with a local source for Package reference builds. -->
14+
<NuGetConfigFile>$(RepoRoot)/NuGet.config</NuGetConfigFile>
15+
<NuGetConfigFile Condition="'$(ReferenceType)' == 'Package'">$(NuGetConfigFile).local</NuGetConfigFile>
16+
1417
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
1518
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
1619
<!-- Flag to control whether or not to build Microsoft.DotNet.GenAPI project in tools -->
@@ -29,7 +32,7 @@
2932
<TargetNetFxVersion Condition="$(TargetGroup) == 'netfx' AND $(TargetNetFxVersion) == ''">$(TF)</TargetNetFxVersion>
3033
<GenerateNuget Condition="'$(GenerateNuget)' == '' AND '$(IsEnabledWindows)' == 'true'">true</GenerateNuget>
3134

32-
<CommonProperties>Configuration=$(Configuration);ReferenceType=$(ReferenceType)</CommonProperties>
35+
<CommonProperties>Configuration=$(Configuration);ReferenceType=$(ReferenceType);RestoreConfigFile=$(NuGetConfigFile)</CommonProperties>
3336
<SqlServerLibProperties>$(CommonProperties);AssemblyVersion=$(SqlServerAssemblyVersion);AssemblyFileVersion=$(SqlServerAssemblyFileVersion);Version=$(SqlServerPackageVersion);</SqlServerLibProperties>
3437
<ProjectProperties>$(CommonProperties);AssemblyFileVersion=$(AssemblyFileVersion);TargetsWindows=$(TargetsWindows);TargetsUnix=$(TargetsUnix);</ProjectProperties>
3538
<TestProjectProperties>$(ProjectProperties);BuildForRelease=false;TargetNetCoreVersion=$(TargetNetCoreVersion);TargetNetFxVersion=$(TargetNetFxVersion)</TestProjectProperties>
@@ -462,7 +465,7 @@
462465
<!-- @TODO: TestTargetOS makes this far more complicated than it needs to be. We should remove it. -->
463466
<!-- @TODO: RemoveProperties shouldn't be necessary -->
464467
<Message Text=">>> Restoring AKV project" />
465-
<MSBuild Projects="@(AKVProvider)" Targets="Restore" />
468+
<MSBuild Projects="@(AKVProvider)" Targets="Restore" Properties="$(CommonProperties)" />
466469

467470
<PropertyGroup>
468471
<BuildAkvProperties>$(CI);TestTargetOS=$(TestOS)netfx;Platform=AnyCPU;$(ProjectProperties);$(NugetPackProperties)</BuildAkvProperties>
@@ -510,7 +513,7 @@
510513
</Target>
511514

512515
<Target Name="BuildAKVNetCoreAllOS" DependsOnTargets="BuildNetCore">
513-
<MSBuild Projects="@(AKVProvider)" Targets="restore" Properties="TestTargetOS=$(TestOS)netcoreapp" />
516+
<MSBuild Projects="@(AKVProvider)" Targets="restore" Properties="$(CommonProperties);TestTargetOS=$(TestOS)netcoreapp" />
514517
<MSBuild Projects="@(AKVProvider)" Properties="$(CI);TestTargetOS=$(TestOS)netcoreapp;$(ProjectProperties);Platform=AnyCPU;OSGroup=Unix;" RemoveProperties="TargetsWindows;TargetsUnix;" />
515518
<MSBuild Projects="@(AKVProvider)" Properties="$(CI);TestTargetOS=$(TestOS)netcoreapp;$(ProjectProperties);Platform=AnyCPU;OSGroup=Windows_NT;" RemoveProperties="TargetsWindows;TargetsUnix;" Condition="'$(IsEnabledWindows)' == 'true'" />
516519
<MSBuild Projects="@(AKVProvider)" Properties="$(CI);TestTargetOS=$(TestOS)netcoreapp;$(ProjectProperties);Platform=AnyCPU;OSGroup=AnyOS;" RemoveProperties="TargetsWindows;TargetsUnix;" />

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,12 @@ steps:
7575
msbuildArguments: >-
7676
-t:RunUnitTests
7777
-p:TF=${{ parameters.targetFramework }}
78+
-p:ReferenceType=${{ parameters.referenceType }}
7879
${{ else }}: # x86
7980
msbuildArguments: >-
8081
-t:RunUnitTests
8182
-p:TF=${{ parameters.targetFramework }}
83+
-p:ReferenceType=${{ parameters.referenceType }}
8284
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
8385
8486
- task: MSBuild@1
@@ -93,12 +95,14 @@ steps:
9395
msbuildArguments: >-
9496
-t:RunUnitTests
9597
-p:TF=${{ parameters.targetFramework }}
98+
-p:ReferenceType=${{ parameters.referenceType }}
9699
-p:Filter="category=flaky"
97100
-p:CollectCodeCoverage=false
98101
${{ else }}: # x86
99102
msbuildArguments: >-
100103
-t:RunUnitTests
101104
-p:TF=${{ parameters.targetFramework }}
105+
-p:ReferenceType=${{ parameters.referenceType }}
102106
-p:DotnetPath=${{ parameters.dotnetx86RootPath }}
103107
-p:Filter="category=flaky"
104108
-p:CollectCodeCoverage=false

eng/pipelines/jobs/pack-azure-package-ci-job.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,18 @@ jobs:
9595
- name: dotnetPackagesDir
9696
value: $(Build.StagingDirectory)/dotnetPackages
9797

98+
# The NuGet.config file to use for restoring packages.
99+
- name: nugetConfigFile
100+
${{ if eq(parameters.referenceType, 'Package') }}:
101+
value: $(Build.SourcesDirectory)/NuGet.config.local
102+
${{ else }}:
103+
value: $(Build.SourcesDirectory)/NuGet.config
104+
98105
# dotnet CLI arguments common to all commands.
99106
- name: commonArguments
100107
value: >-
101108
--verbosity ${{ parameters.dotnetVerbosity }}
109+
--configfile $(nugetConfigFile)
102110
-p:ReferenceType=${{ parameters.referenceType }}
103111
-p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }}
104112

eng/pipelines/jobs/test-azure-package-ci-job.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,18 @@ jobs:
136136
- name: project
137137
value: src/Microsoft.Data.SqlClient.Extensions/Azure/test/Azure.Test.csproj
138138

139+
# The NuGet.config file to use for restoring packages.
140+
- name: nugetConfigFile
141+
${{ if eq(parameters.referenceType, 'Package') }}:
142+
value: $(Build.SourcesDirectory)/NuGet.config.local
143+
${{ else }}:
144+
value: $(Build.SourcesDirectory)/NuGet.config
145+
139146
# dotnet CLI arguments common to all commands.
140147
- name: commonArguments
141148
value: >-
142149
--verbosity ${{ parameters.dotnetVerbosity }}
150+
--configfile $(nugetConfigFile)
143151
-p:ReferenceType=${{ parameters.referenceType }}
144152
-p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }}
145153
-p:MdsPackageVersion=${{ parameters.mdsPackageVersion }}

eng/pipelines/stages/stress-tests-ci-stage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ stages:
9595
value: >-
9696
--verbosity ${{parameters.dotnetVerbosity}}
9797
--artifacts-path $(dotnetArtifactsDir)
98+
--configfile=$(Build.SourcesDirectory)/NuGet.config.local
9899
-p:MdsPackageVersion=${{parameters.mdsPackageVersion}}
99100
-p:AzurePackageVersion=${{parameters.azurePackageVersion}}
100101

0 commit comments

Comments
 (0)