@@ -28,8 +28,74 @@ extends:
28
28
sdl :
29
29
sourceAnalysisPool : 1ES-PT-Windows-2022
30
30
stages :
31
+
32
+ - stage : DownloadExternalPipelineArtifacts
33
+ pool :
34
+ name : Azure Pipelines
35
+ image : macos-14
36
+ os : macOS
37
+ jobs :
38
+ - job : downloadExternalArtifacts
39
+ displayName : DownloadExternalPipelineArtifacts
40
+ templateContext :
41
+ outputs :
42
+ - output : pipelineArtifact
43
+ displayName : ' Publish Artifact: framework'
44
+ path : ' $(Build.ArtifactStagingDirectory)'
45
+ artifactName : external-artifacts
46
+ steps :
47
+ - checkout : self
48
+ fetchTags : false
49
+
50
+ - task : DownloadPipelineArtifact@2
51
+ displayName : ' Download apple artifacts'
52
+ inputs :
53
+ buildType : ' specific'
54
+ project : ' SDK'
55
+ pipeline : ' AppCenter-SDK-Apple Build Frameworks and Documentation 1ES'
56
+ buildVersionToDownload : ' latestFromBranch'
57
+ patterns : ' **/Release/!(*carthage*)*.zip'
58
+ targetPath : ' $(Build.SourcesDirectory)/externals/apple_unflattened'
59
+
60
+ - task : DownloadPipelineArtifact@2
61
+ displayName : ' Download android artifacts'
62
+ inputs :
63
+ buildType : ' specific'
64
+ project : ' SDK'
65
+ buildVersionToDownload : ' latestFromBranch'
66
+ pipeline : ' AppCenter-SDK-Android Publish Maven 1ES'
67
+ patterns : ' **/Release/appcenter/**/*.aar'
68
+ targetPath : ' $(Build.SourcesDirectory)/externals/android_unflattened'
69
+
70
+ - task : Bash@3
71
+ displayName : ' Flatten Android artifacts'
72
+ inputs :
73
+ targetType : ' inline'
74
+ script : |
75
+ echo "Flattening Android artifacts:"
76
+ mkdir -p $(Build.SourcesDirectory)/externals/android
77
+ find $(Build.SourcesDirectory)/externals/android_unflattened -name '*.aar' -exec mv {} $(Build.SourcesDirectory)/externals/android/ \;
78
+ rm -rf $(Build.SourcesDirectory)/externals/android_unflattened
79
+
80
+ - task : Bash@3
81
+ displayName : ' Flatten Apple artifacts'
82
+ inputs :
83
+ targetType : ' inline'
84
+ script : |
85
+ echo "Flattening Apple artifacts:"
86
+ mkdir -p $(Build.SourcesDirectory)/externals/apple
87
+ find $(Build.SourcesDirectory)/externals/apple_unflattened -name '*.zip' -exec mv {} $(Build.SourcesDirectory)/externals/apple/ \;
88
+ rm -rf $(Build.SourcesDirectory)/externals/apple_unflattened
89
+
90
+ - task : CopyFiles@2
91
+ displayName : ' Copy artifacts'
92
+ inputs :
93
+ SourceFolder : ' $(Build.SourcesDirectory)/externals'
94
+ TargetFolder : ' $(Build.ArtifactStagingDirectory)'
95
+
31
96
- stage : BuildWindowsAssemblies
32
- dependsOn : []
97
+ dependsOn :
98
+ - DownloadExternalPipelineArtifacts
33
99
jobs :
34
100
- job : sdkBuildJob
35
101
displayName : BuildWindowsAssemblies
@@ -44,12 +110,11 @@ extends:
44
110
- checkout : self
45
111
fetchTags : false
46
112
47
- - task : AzureKeyVault @2
113
+ - task : DownloadPipelineArtifact @2
48
114
inputs :
49
- azureSubscription : ' AC - Dev Infra & Build Pool'
50
- KeyVaultName : ' mobile-center-sdk'
51
- SecretsFilter : ' appcenter-sdk-blob-storage-access-secret'
52
- RunAsPreJob : false
115
+ artifact : ' external-artifacts'
116
+ targetPath : ' $(Build.SourcesDirectory)/externals'
117
+ displayName : ' Download pipeline artifacts'
53
118
54
119
- task : PowerShell@2
55
120
displayName : ' Set Release Version'
@@ -62,21 +127,20 @@ extends:
62
127
displayName : ' Prepare Assemblies'
63
128
inputs :
64
129
target : PrepareAssemblies
65
- arguments : ' --StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)"'
66
130
Version : 2.2.0
67
131
68
-
69
132
- task : CopyFiles@2
70
133
displayName : ' Copy Assemblies'
71
134
inputs :
72
135
SourceFolder : ' $(Build.SourcesDirectory)\bin'
73
136
TargetFolder : ' $(Build.ArtifactStagingDirectory)'
74
137
75
138
- stage : BuildDotNetAssemblies
76
- dependsOn : []
139
+ dependsOn :
140
+ - DownloadExternalPipelineArtifacts
77
141
pool :
78
142
name : Azure Pipelines
79
- image : macos-12
143
+ image : macos-14
80
144
os : macOS
81
145
demands :
82
146
- msbuild
@@ -92,6 +156,12 @@ extends:
92
156
- checkout : self
93
157
fetchTags : false
94
158
159
+ - task : DownloadPipelineArtifact@2
160
+ inputs :
161
+ artifact : ' external-artifacts'
162
+ targetPath : ' $(Build.SourcesDirectory)/externals'
163
+ displayName : ' Download pipeline artifacts'
164
+
95
165
- task : Bash@3
96
166
displayName : ' Set Release Version'
97
167
inputs :
@@ -106,13 +176,6 @@ extends:
106
176
jdkArchitectureOption : x64
107
177
jdkSourceOption : PreInstalled
108
178
109
- - task : AzureKeyVault@2
110
- inputs :
111
- azureSubscription : ' AC - Dev Infra & Build Pool'
112
- KeyVaultName : ' mobile-center-sdk'
113
- SecretsFilter : ' appcenter-sdk-blob-storage-access-secret'
114
- RunAsPreJob : false
115
-
116
179
- task : UseDotNet@2
117
180
displayName : ' Install .NET SDK'
118
181
inputs :
@@ -126,7 +189,6 @@ extends:
126
189
displayName : ' Prepare DotNet Assemblies'
127
190
inputs :
128
191
target : PrepareAssemblies
129
- arguments : ' --StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)"'
130
192
Version : 2.2.0
131
193
132
194
- task : Bash@3
@@ -146,7 +208,7 @@ extends:
146
208
displayName : ' Prepare Xamarin Assemblies'
147
209
inputs :
148
210
target : PrepareAssemblies
149
- arguments : ' --MacPlatformId="mac-xamarin" --StorageAuthParams="$(appcenter-sdk-blob-storage-access-secret)" '
211
+ arguments : ' --MacPlatformId="mac-xamarin"'
150
212
Version : 2.2.0
151
213
152
214
- task : CopyFiles@2
@@ -223,16 +285,25 @@ extends:
223
285
.\scripts\strong-named-sign.cmd "$(Build.ArtifactStagingDirectory)\assemblies" "$(Agent.TempDirectory)\appcenter-pair-key.snk"
224
286
displayName: 'Sign assemblies with strong naming'
225
287
288
+ - task : AzureKeyVault@2
289
+ displayName : ' Get MSI Client and Tenant IDs for App Center - Code Signing (PME) Service Connection'
290
+ inputs :
291
+ azureSubscription : AC - Dev Infra & Build Pool
292
+ keyVaultName : mobile-center-sdk
293
+ secretsFilter : codesigning-esrp-client-id, codesigning-msi-client-id, codesigning-msi-tenant-id
294
+ runAsPreJob : false
295
+
226
296
- task : EsrpCodeSigning@5
227
297
displayName : ' Sign Assemblies'
228
298
inputs :
229
- ConnectedServiceName : ' App Center - Code Signing (WIF )'
299
+ ConnectedServiceName : ' App Center - Code Signing (PME )'
230
300
FolderPath : ' $(Build.ArtifactStagingDirectory)\assemblies'
231
- AppRegistrationClientId : ' 56ecf8eb-6143-4da0-9a53-716e9c2e6e86'
232
- AppRegistrationTenantId : ' 72f988bf-86f1-41af-91ab-2d7cd011db47'
233
- AuthAKVName : ' code-signing-poduction'
234
- AuthCertName : ' appcenter-codesigning-auth'
235
- AuthSignCertName : ' CodeSigning-Certificate-Managed'
301
+ UseMSIAuthentication : true
302
+ AppRegistrationClientId : $(codesigning-msi-client-id)
303
+ AppRegistrationTenantId : $(codesigning-msi-tenant-id)
304
+ EsrpClientId : $(codesigning-esrp-client-id)
305
+ AuthAKVName : ' ac-code-signing'
306
+ AuthSignCertName : ' CodeSigning-Certificate-Managed'
236
307
Pattern : ' *.dll,*.winmd'
237
308
signConfigType : inlineSignParams
238
309
inlineOperation : |
@@ -302,13 +373,6 @@ extends:
302
373
env :
303
374
AzureServicesAuthConnectionString : ' runAs=App;AppId=$(appcenter-sdk-managed-identity-clientid)'
304
375
305
- - task : AzureKeyVault@2
306
- inputs :
307
- azureSubscription : ' AC - Dev Infra & Build Pool'
308
- KeyVaultName : ' mobile-center-sdk'
309
- SecretsFilter : ' appcenter-sdk-blob-storage-access-secret'
310
- RunAsPreJob : false
311
-
312
376
- task : Cake@2
313
377
displayName : ' Pack NuGets'
314
378
inputs :
@@ -320,12 +384,13 @@ extends:
320
384
displayName : ' Sign Packages'
321
385
enabled : true
322
386
inputs :
323
- ConnectedServiceName : ' App Center - Code Signing (WIF)'
324
- AppRegistrationClientId : ' 56ecf8eb-6143-4da0-9a53-716e9c2e6e86'
325
- AppRegistrationTenantId : ' 72f988bf-86f1-41af-91ab-2d7cd011db47'
326
- AuthAKVName : ' code-signing-poduction'
327
- AuthCertName : ' appcenter-codesigning-auth'
328
- AuthSignCertName : ' CodeSigning-Certificate-Managed'
387
+ ConnectedServiceName : ' App Center - Code Signing (PME)'
388
+ UseMSIAuthentication : true
389
+ AppRegistrationClientId : $(codesigning-msi-client-id)
390
+ AppRegistrationTenantId : $(codesigning-msi-tenant-id)
391
+ EsrpClientId : $(codesigning-esrp-client-id)
392
+ AuthAKVName : ' ac-code-signing'
393
+ AuthSignCertName : ' CodeSigning-Certificate-Managed'
329
394
FolderPath : ' $(System.DefaultWorkingDirectory)/'
330
395
Pattern : ' Microsoft.AppCenter*.nupkg'
331
396
signConfigType : inlineSignParams
0 commit comments