Skip to content

Commit b02a214

Browse files
committed
Split the Abstractions pipeline changes out into their own set of changes.
1 parent 9e74341 commit b02a214

33 files changed

+902
-394
lines changed

eng/pipelines/akv-official-pipeline.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ extends:
113113
sbom:
114114
enabled: ${{ parameters.runSdlTasks }}
115115
packageName: 'Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider'
116-
packageVersion: ${{ variables.nugetPackageVersion }}
116+
packageVersion: ${{ variables.akvPackageVersion }}
117117

118118
tsa:
119119
# OneBranch publishes all sdl results to TSA. If TSA is disabled all SDL tools will
@@ -131,8 +131,7 @@ extends:
131131
apiScanPdbPath: '${{ variables.apiScanPdbPath }}'
132132
assemblyFileVersion: '${{ variables.assemblyFileVersion }}'
133133
buildConfiguration: '${{ parameters.buildConfiguration }}'
134-
nugetPackageVersion: '${{ variables.nugetPackageVersion }}'
135-
mdsPackageVersion: '${{ variables.mdsPackageVersion }}'
134+
akvPackageVersion: '${{ variables.akvPackageVersion }}'
136135
publishSymbols: '${{ parameters.publishSymbols }}'
137136
signingAppRegistrationClientId: '$(SigningAppRegistrationClientId)'
138137
signingAppRegistrationTenantId: '$(SigningAppRegistrationTenantId)'

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

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ jobs:
2727
variables:
2828
- template: ../../../libraries/variables.yml@self
2929
- ${{ if parameters.isPreview }}:
30-
- name: NugetPackageVersion
31-
value: $(PreviewNugetPackageVersion)
30+
- name: mdsPackageVersion
31+
value: $(previewMdsPackageVersion)
3232

3333
steps:
3434
- script: SET
@@ -39,7 +39,15 @@ jobs:
3939
name: GetBuildType
4040
4141
- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
42-
42+
parameters:
43+
# These values are sourced from common-variables.yml.
44+
${{ if eq(parameters.isPreview, false) }}:
45+
abstractionsPackageVersion: $(abstractionsPackageVersion)
46+
${{ else }}:
47+
abstractionsPackageVersion: $(abstractionsPackagePreviewVersion)
48+
abstractionsAssemblyFileVersion: $(abstractionsAssemblyFileVersion)
49+
mdsAssemblyFileVersion: $(mdsAssemblyFileVersion)
50+
4351
- template: ../steps/code-analyze-step.yml@self
4452
parameters:
4553
analyzeType: all
@@ -50,7 +58,10 @@ jobs:
5058

5159
- template: ../steps/generate-nuget-package-step.yml@self
5260
parameters:
53-
OutputDirectory: $(artifactDirectory)
61+
nuspecPath: $(nuspecPath)
62+
packageVersion: $(mdsPackageVersion)
63+
outputDirectory: $(artifactDirectory)
64+
displayName: 'Create MDS NuGet Package'
5465

5566
- template: ../steps/esrp-code-signing-step.yml@self
5667
parameters:
@@ -64,4 +75,4 @@ jobs:
6475
- template: ../steps/publish-symbols-step.yml@self
6576
parameters:
6677
publishSymbols: ${{ parameters['PublishSymbols'] }}
67-
symbolsArtifactName: mds_symbols_$(System.TeamProject)_$(Build.Repository.Name)_$(Build.SourceBranchName)_$(NuGetPackageVersion)_$(System.TimelineId)
78+
symbolsArtifactName: mds_symbols_$(System.TeamProject)_$(Build.Repository.Name)_$(Build.SourceBranchName)_$(mdsPackageVersion)_$(System.TimelineId)

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

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
# See the LICENSE file in the project root for more information. #
55
#################################################################################
66
parameters:
7+
8+
- name: referenceType
9+
type: string
10+
values:
11+
- Project
12+
- Package
13+
714
- name: poolName
815
type: string
916
default: $(ci_var_defaultPoolName)
@@ -12,9 +19,13 @@ parameters:
1219
type: string
1320
default: ADO-MMS22-SQL19
1421

15-
- name: artifactName
22+
- name: abstractionsArtifactName
23+
type: string
24+
default: Abstractions.Artifact
25+
26+
- name: mdsArtifactName
1627
type: string
17-
default: Artifacts
28+
default: MDS.Artifact
1829

1930
- name: platform
2031
type: string
@@ -28,8 +39,12 @@ parameters:
2839
type: stepList
2940
default: []
3041

42+
- name: abstractionsPackageVersion
43+
type: string
44+
3145
jobs:
32-
- job: build_nugets
46+
- job: build_mds_akv_packages_job
47+
displayName: Build MDS & AKV Packages
3348

3449
pool:
3550
name: ${{parameters.poolName }}
@@ -44,34 +59,44 @@ jobs:
4459
- ${{ if ne(parameters.prebuildSteps, '') }}:
4560
- ${{ parameters.prebuildSteps }} # extra steps to run before the build like downloading sni and the required configuration
4661

62+
# If we're testing in Package mode, download the Abstractions package
63+
# artifacts and put them in the packages/ directory in the repo root.
64+
- ${{ if eq(parameters.referenceType, 'Package') }}:
65+
- task: DownloadPipelineArtifact@2
66+
displayName: Download Abstractions Package Artifact
67+
inputs:
68+
artifactName: ${{ parameters.abstractionsArtifactName }}
69+
targetPath: $(Build.SourcesDirectory)/packages
70+
4771
- template: ../steps/ci-project-build-step.yml@self
4872
parameters:
4973
platform: ${{ parameters.platform }}
5074
configuration: ${{ parameters.configuration }}
5175
operatingSystem: Windows
5276
build: all
77+
abstractionsPackageVersion: ${{parameters.abstractionsPackageVersion}}
5378

5479
- template: ../steps/generate-nuget-package-step.yml@self
5580
parameters:
56-
NugetPackageVersion: $(NugetPackageVersion)
81+
packageVersion: $(mdsPackageVersion)
5782
configuration: $(Configuration)
5883
nuspecPath: 'tools/specs/Microsoft.Data.SqlClient.nuspec'
59-
OutputDirectory: $(packagePath)
84+
outputDirectory: $(packagePath)
6085
generateSymbolsPackage: false
61-
displayName: 'Generate NuGet package M.D.SqlClient'
86+
displayName: 'Create MDS NuGet Package'
6287

6388
- template: ../steps/generate-nuget-package-step.yml@self
6489
parameters:
65-
NugetPackageVersion: $(NugetPackageVersion)
90+
packageVersion: $(akvPackageVersion)
6691
configuration: $(Configuration)
6792
nuspecPath: 'tools/specs/add-ons/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.nuspec'
68-
OutputDirectory: $(packagePath)
93+
outputDirectory: $(packagePath)
6994
generateSymbolsPackage: false
7095
installNuget: false
71-
displayName: 'Generate NuGet package AKV Provider'
96+
displayName: 'Create AKV NuGet Package'
7297

73-
- task: PublishBuildArtifacts@1
74-
displayName: 'Publish Artifact: Artifacts'
98+
- task: PublishPipelineArtifact@1
99+
displayName: 'Publish Pipeline Artifact'
75100
inputs:
76-
PathtoPublish: $(packagePath)
77-
ArtifactName: ${{ parameters.artifactName }}
101+
targetPath: $(packagePath)
102+
artifactName: ${{ parameters.mdsArtifactName }}

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

Lines changed: 66 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,31 @@
44
# See the LICENSE file in the project root for more information. #
55
#################################################################################
66
parameters:
7+
- name: abstractionsArtifactName
8+
type: string
9+
10+
- name: abstractionsPackageVersion
11+
type: string
12+
13+
- name: configProperties
14+
type: object
15+
default: {} # - key: 'value'
16+
17+
- name: configSqlFor
18+
type: string # local, azure, or enclave
19+
default: local
20+
721
- name: debug
822
type: boolean
923
default: false
1024

11-
- name: poolName
12-
type: string
25+
- name: enableX64Test
26+
type: boolean
27+
default: true
28+
29+
- name: enableX86Test
30+
type: boolean
31+
default: false
1332

1433
- name: hostedPool
1534
type: boolean
@@ -21,63 +40,51 @@ parameters:
2140
- name: jobDisplayName
2241
type: string
2342

24-
- name: usemanagedSNI
25-
type: boolean
26-
default: false
27-
28-
- name: configProperties
29-
type: object
30-
default: {} # - key: 'value'
31-
32-
- name: prebuildSteps
33-
type: stepList
34-
default: []
35-
36-
- name: artifactName
43+
- name: mdsArtifactName
3744
type: string
38-
default: Artifacts
3945

40-
- name: targetFramework
46+
- name: mdsPackageVersion
4147
type: string
4248

4349
- name: netcoreVersionTestUtils
4450
type: string
51+
52+
- name: operatingSystem
53+
type: string
54+
default: ''
4555

46-
- name: enableX86Test
47-
type: boolean
48-
default: false
49-
50-
- name: enableX64Test
51-
type: boolean
52-
default: true
53-
54-
- name: testSet
56+
- name: poolName
5557
type: string
58+
59+
- name: prebuildSteps
60+
type: stepList
61+
default: []
5662

5763
- name: publishTestResults
5864
type: boolean
5965
default: false
60-
61-
- name: configSqlFor
62-
type: string # local, azure, or enclave
63-
default: local
64-
65-
- name: operatingSystem
66+
67+
- name: referenceType
6668
type: string
67-
default: ''
68-
69-
- name: buildType
70-
displayName: 'Build Type'
71-
default: Project
7269
values:
7370
- Project
7471
- Package
7572

73+
- name: targetFramework
74+
type: string
75+
76+
- name: testSet
77+
type: string
78+
7679
# The timeout, in minutes, for this job.
7780
- name: timeout
7881
type: string
7982
default: 90
8083

84+
- name: usemanagedSNI
85+
type: boolean
86+
default: false
87+
8188
jobs:
8289
- job: ${{ format('{0}', coalesce(parameters.jobDisplayName, parameters.image, 'unknown_image')) }}
8390

@@ -98,6 +105,22 @@ jobs:
98105
value: '$(dotnetx86Path)'
99106

100107
steps:
108+
109+
# If we're testing in Package mode, download the Abstractions and MDS package
110+
# artifacts and put them in the packages/ directory in the repo root.
111+
- ${{ if eq(parameters.referenceType, 'Package') }}:
112+
- task: DownloadPipelineArtifact@2
113+
displayName: Download Abstractions Package Artifact
114+
inputs:
115+
artifactName: ${{ parameters.abstractionsArtifactName }}
116+
targetPath: $(Build.SourcesDirectory)/packages
117+
118+
- task: DownloadPipelineArtifact@2
119+
displayName: Download MDS Package Artifact
120+
inputs:
121+
artifactName: ${{ parameters.mdsArtifactName }}
122+
targetPath: $(Build.SourcesDirectory)/packages
123+
101124
- ${{ if ne(parameters.prebuildSteps, '') }}:
102125
- ${{ parameters.prebuildSteps }} # extra steps to run before the build like downloading sni and the required configuration
103126

@@ -227,8 +250,10 @@ jobs:
227250
- template: ../steps/build-all-tests-step.yml@self # build tests
228251
parameters:
229252
targetFramework: ${{ parameters.targetFramework }}
230-
referenceType: ${{ parameters.buildType }}
253+
referenceType: ${{ parameters.referenceType }}
231254
testSet: ${{ parameters.testSet }}
255+
abstractionsPackageVersion: ${{ parameters.abstractionsPackageVersion }}
256+
mdsPackageVersion: ${{ parameters.mdsPackageVersion }}
232257
${{ if ne(parameters.operatingSystem, 'Windows') }}:
233258
OSGroup: Unix
234259

@@ -237,7 +262,7 @@ jobs:
237262
parameters:
238263
debug: ${{ parameters.debug }}
239264
targetFramework: ${{ parameters.targetFramework }}
240-
referenceType: ${{ parameters.buildType }}
265+
referenceType: ${{ parameters.referenceType }}
241266
testSet: ${{ parameters.testSet }}
242267
operatingSystem: ${{ parameters.operatingSystem }}
243268

@@ -279,13 +304,13 @@ jobs:
279304
parameters:
280305
debug: ${{ parameters.debug }}
281306
targetFramework: ${{ parameters.targetFramework }}
282-
referenceType: ${{ parameters.buildType }}
307+
referenceType: ${{ parameters.referenceType }}
283308
testSet: ${{ parameters.testSet }}
284309
msbuildArchitecture: x86
285310
dotnetx86RootPath: $(dotnetx86RootPath)
286311
operatingSystem: ${{ parameters.operatingSystem }}
287312

288-
- ${{ if and(eq(parameters.publishTestResults, true), eq(parameters.buildType, 'Project')) }}: # publish test results if build type is project
313+
- ${{ if and(eq(parameters.publishTestResults, true), eq(parameters.referenceType, 'Project')) }}: # publish test results if build type is project
289314
- template: ../steps/publish-test-results-step.yml@self
290315
parameters:
291316
debug: ${{ parameters.debug }}

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ jobs:
5252
- template: ../steps/update-nuget-config-local-feed-step.yml
5353
parameters:
5454
downloadedNugetPath: $(Pipeline.Workspace)\${{parameters.packageFolderName }}
55-
${{ if parameters.isPreview }}:
56-
nugetPackageVersion: $(PreviewNugetPackageVersion)
5755

5856
- template: ../steps/update-config-file-step.yml
5957
parameters:
@@ -68,11 +66,11 @@ jobs:
6866
parameters:
6967
referenceType: Package
7068
${{ if parameters.isPreview }}:
71-
nugetPackageVersion: $(PreviewNugetPackageVersion)
69+
mdsPackageVersion: $(previewMdsPackageVersion)
7270

7371
- template: ../steps/build-and-run-tests-netcore-step.yml
7472
parameters:
7573
referenceType: Package
7674
cleanFirst: true
7775
${{ if parameters.isPreview }}:
78-
nugetPackageVersion: $(PreviewNugetPackageVersion)
76+
mdsPackageVersion: $(previewMdsPackageVersion)

0 commit comments

Comments
 (0)