5
5
trigger : none
6
6
7
7
parameters :
8
- - name : SignTypeOverride
9
- displayName : Signing Type (default is real for the main branch and test otherwise)
10
- type : string
11
- default : default
12
- values :
13
- - default
14
- - test
15
- - real
16
8
- name : VcpkgBaseVersionOverride
17
9
displayName : vcpkg Base Version (default is today's date in ISO 8601)
18
10
type : string
19
11
default : default
20
- - name : PublishTo
21
- displayName : ' Publish To'
22
- type : string
23
- default : ' GitHub and NuGet'
24
- values :
25
- - ' GitHub and NuGet'
26
- - ' NuGet Only'
27
- - ' None'
28
12
variables :
29
13
- group : vcpkg Terrapin URLs
30
14
- name : TeamName
31
15
value : vcpkg
32
- # If the user didn't override the signing type, then only real-sign on main.
33
- - ${{ if ne(parameters.SignTypeOverride, 'default') }} :
34
- - name : SignType
35
- value : ${{ parameters.SignTypeOverride }}
36
- - ${{ if and(eq(parameters.SignTypeOverride, 'default'), or(eq(variables['Build.SourceBranchName'], 'main'), startsWith(variables['Build.SourceBranch'], 'refs/tags'))) }} :
37
- - name : SignType
38
- value : real
39
- - ${{ if and(eq(parameters.SignTypeOverride, 'default'), not(or(eq(variables['Build.SourceBranchName'], 'main'), startsWith(variables['Build.SourceBranch'], 'refs/tags')))) }} :
40
- - name : SignType
41
- value : test
42
16
resources :
43
17
repositories :
44
18
- repository : MicroBuildTemplate
@@ -81,7 +55,8 @@ extends:
81
55
signing :
82
56
enabled : true
83
57
feedSource : ' https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
84
- signType : $(SignType)
58
+ signType : ' real'
59
+ signWithProd : true
85
60
zipSources : false
86
61
outputs :
87
62
- output : pipelineArtifact
@@ -238,7 +213,7 @@ extends:
238
213
dependsOn :
239
214
- arch_independent
240
215
pool :
241
- name : ' vcpkg-mariner-1espt'
216
+ name : ' vcpkg-pme- mariner-2-amd64- 1espt-pool '
242
217
os : linux
243
218
variables :
244
219
VCPKG_STANDALONE_BUNDLE_SHA : $[ dependencies.arch_independent.outputs['shas.VCPKG_STANDALONE_BUNDLE_SHA'] ]
@@ -258,22 +233,21 @@ extends:
258
233
publishLocation : ' Container'
259
234
targetPath : ' $(Build.ArtifactStagingDirectory)'
260
235
steps :
261
- - bash : |
262
- az login --identity --username 29a4d3e7-c7d5-41c7-b5a0-fee8cf466371
263
- az acr login --name vcpkgdockercontainers
264
- displayName: 'Set up managed identity'
265
- - task : CmdLine@2
236
+ - task : AzureCLI@2
266
237
displayName : " Build vcpkg in Mariner with Ubuntu 16.04 Libraries"
267
238
inputs :
268
- failOnStderr : false
269
- script : |
239
+ azureSubscription : ' vcpkg-pme-official-builders'
240
+ scriptType : bash
241
+ scriptLocation : ' inlineScript'
242
+ inlineScript : |
243
+ az acr login --name vcpkgpmeofficialbuilders --resource-group vcpkg-tool-official-builds --subscription c0f11a1f-38f5-4908-8698-1aa5df75baf3
270
244
mkdir -p "$(Agent.TempDirectory)/build"
271
- docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgdockercontainers .azurecr.io/vcpkg/vcpkg-linux:2024-03-21 sh -c "cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/source/azure-pipelines/vcpkg-linux/toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
245
+ docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgpmeofficialbuilders-c7ajd0chdtfugffn .azurecr.io/vcpkg/vcpkg-build- linux-amd64 :2024-03-21 sh -c "cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/source/azure-pipelines/vcpkg-linux/toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
272
246
mv "$(Agent.TempDirectory)/build/vcpkg" "$(Build.ArtifactStagingDirectory)/vcpkg-glibc"
273
247
- job : muslc_build
274
248
displayName : ' muslc (Alpine) Build'
275
249
pool :
276
- name : ' vcpkg-mariner-1espt'
250
+ name : ' vcpkg-pme- mariner-2-amd64- 1espt-pool '
277
251
os : linux
278
252
dependsOn :
279
253
- arch_independent
@@ -295,24 +269,23 @@ extends:
295
269
publishLocation : ' Container'
296
270
targetPath : ' $(Build.ArtifactStagingDirectory)'
297
271
steps :
298
- - bash : |
299
- az login --identity --username 29a4d3e7-c7d5-41c7-b5a0-fee8cf466371
300
- az acr login --name vcpkgdockercontainers
301
- displayName: 'Set up managed identity'
302
- - task : CmdLine@2
272
+ - task : AzureCLI@2
303
273
displayName : " Build vcpkg in Alpine"
304
274
inputs :
305
- failOnStderr : false
306
- script : |
275
+ azureSubscription : ' vcpkg-pme-official-builders'
276
+ scriptType : bash
277
+ scriptLocation : ' inlineScript'
278
+ inlineScript : |
279
+ az acr login --name vcpkgpmeofficialbuilders --resource-group vcpkg-tool-official-builds --subscription c0f11a1f-38f5-4908-8698-1aa5df75baf3
307
280
mkdir -p "$(Agent.TempDirectory)/build"
308
- docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgdockercontainers .azurecr.io/vcpkg/vcpkg-alpine:3.16 sh -c "cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DCMAKE_CXX_FLAGS=\"-static -s -static-libgcc -static-libstdc++\" -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
281
+ docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgpmeofficialbuilders-c7ajd0chdtfugffn .azurecr.io/vcpkg/vcpkg-build -alpine:3.16 sh -c "cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DCMAKE_CXX_FLAGS=\"-static -s -static-libgcc -static-libstdc++\" -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
309
282
mv "$(Agent.TempDirectory)/build/vcpkg" "$(Build.ArtifactStagingDirectory)/vcpkg-muslc"
310
283
- job : glibc_arm64_build
311
284
displayName : ' glibc Arm64 Build'
312
285
dependsOn :
313
286
- arch_independent
314
287
pool :
315
- name : ' vcpkg-mariner-aarch64-1espt'
288
+ name : ' vcpkg-pme- mariner-2- aarch64-1espt-pool '
316
289
os : linux
317
290
hostArchitecture : Arm64
318
291
variables :
@@ -333,17 +306,16 @@ extends:
333
306
publishLocation : ' Container'
334
307
targetPath : ' $(Build.ArtifactStagingDirectory)'
335
308
steps :
336
- - bash : |
337
- az login --identity --username 29a4d3e7-c7d5-41c7-b5a0-fee8cf466371
338
- az acr login --name vcpkgdockercontainers
339
- displayName: 'Set up managed identity'
340
- - task : CmdLine@2
309
+ - task : AzureCLI@2
341
310
displayName : " Run Docker build for arm64 Linux binary"
342
311
inputs :
343
- failOnStderr : false
344
- script : |
312
+ azureSubscription : ' vcpkg-pme-official-builders'
313
+ scriptType : bash
314
+ scriptLocation : ' inlineScript'
315
+ inlineScript : |
316
+ az acr login --name vcpkgpmeofficialbuilders --resource-group vcpkg-tool-official-builds --subscription c0f11a1f-38f5-4908-8698-1aa5df75baf3
345
317
mkdir -p "$(Agent.TempDirectory)/build"
346
- docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgdockercontainers .azurecr.io/vcpkg/vcpkg-arm64 -linux:2025-03-18 sh -c "cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/source/azure-pipelines/vcpkg-arm64/toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
318
+ docker run --rm --mount "type=bind,source=$(Build.Repository.LocalPath),target=/source,readonly" --mount "type=bind,source=$(Agent.TempDirectory)/build,target=/build" vcpkgpmeofficialbuilders-c7ajd0chdtfugffn .azurecr.io/vcpkg/vcpkg-build -linux-arm64 :2025-03-18 sh -c "cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=/source/azure-pipelines/vcpkg-arm64/toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_EMBED_GIT_SHA=ON -DVCPKG_OFFICIAL_BUILD=ON -DVCPKG_CMAKERC_URL=$(cmakerc-tarball-url) -DVCPKG_FMT_URL=$(fmt-tarball-url) -DVCPKG_STANDALONE_BUNDLE_SHA=$(VCPKG_STANDALONE_BUNDLE_SHA) -DVCPKG_BASE_VERSION=$(VCPKG_BASE_VERSION) -DVCPKG_VERSION=$(Build.SourceVersion) -S /source -B /build 2>&1 && ninja -C /build"
347
319
mv "$(Agent.TempDirectory)/build/vcpkg" "$(Build.ArtifactStagingDirectory)/vcpkg-glibc-arm64"
348
320
- job : windows_and_sign
349
321
displayName : ' Build Windows binaries and Sign'
@@ -369,7 +341,8 @@ extends:
369
341
signing :
370
342
enabled : true
371
343
feedSource : ' https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
372
- signType : $(SignType)
344
+ signType : ' real'
345
+ signWithProd : true
373
346
zipSources : false
374
347
inputs :
375
348
- input : pipelineArtifact
@@ -398,13 +371,11 @@ extends:
398
371
targetPath : ' $(Build.ArtifactStagingDirectory)/vs-insertion/drop'
399
372
artifactName : ' vs-insertion'
400
373
publishLocation : ' Container'
401
- condition : ${{ or(eq(parameters.PublishTo, 'GitHub and NuGet'),eq(parameters.PublishTo, 'NuGet Only')) }}
402
374
- output : nuget
403
375
displayName : ' NuGet publish for VS Insertion'
404
376
packageParentPath : ' $(Build.ArtifactStagingDirectory)'
405
377
packagesToPush : ' $(Build.ArtifactStagingDirectory)/vs-insertion/drop/VS.Redist.Vcpkg.amd64.1.0.0-$(VCPKG_FULL_VERSION).nupkg'
406
378
publishVstsFeed : ' 97a41293-2972-4f48-8c0e-05493ae82010'
407
- condition : ${{ and(or(eq(parameters.PublishTo, 'GitHub and NuGet'),eq(parameters.PublishTo, 'NuGet Only')), eq(variables.SignType, 'real')) }}
408
379
steps :
409
380
- task : CmdLine@2
410
381
displayName : " Build vcpkg amd64 with CMake"
@@ -449,25 +420,15 @@ extends:
449
420
inputs :
450
421
solution : ' azure-pipelines\binary-signing.signproj'
451
422
msbuildArguments : ' /p:OutDir=$(Build.BinariesDirectory)\ /p:IntermediateOutputPath=$(Build.BinariesDirectory)\'
452
- - task : MicroBuildSignMacFiles@1
453
- displayName : ' Developer Sign Mac Binaries'
454
- condition : and(eq(variables.SignType, 'test'), succeeded())
455
- inputs :
456
- SigningTarget : ' $(Build.ArtifactStagingDirectory)\stagingMacOS\vcpkg-macos.zip'
457
- SigningCert : ' 8005'
458
- SigningPluginSource : ' https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
459
- SigningPluginVersion : ' latest'
460
423
- task : MicroBuildSignMacFiles@1
461
424
displayName : ' Sign and Harden Mac Binaries'
462
- condition : and(eq(variables.SignType, 'real'), succeeded())
463
425
inputs :
464
426
SigningTarget : ' $(Build.ArtifactStagingDirectory)\stagingMacOS\vcpkg-macos.zip'
465
427
SigningCert : ' 8025'
466
428
SigningPluginSource : ' https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
467
429
SigningPluginVersion : ' latest'
468
430
- task : MicroBuildSignMacFiles@1
469
431
displayName : ' Notarize Mac Binaries'
470
- condition : and(eq(variables.SignType, 'real'), succeeded())
471
432
inputs :
472
433
SigningTarget : ' $(Build.ArtifactStagingDirectory)\stagingMacOS\vcpkg-macos.zip'
473
434
SigningCert : ' 8020'
@@ -528,8 +489,7 @@ extends:
528
489
copy "$(Build.ArtifactStagingDirectory)\drop\tls12-download-arm64.exe" "$(Build.ArtifactStagingDirectory)\symbols\tls12-download-arm64.exe"
529
490
copy "$(Build.ArtifactStagingDirectory)\drop\tls12-download-arm64.pdb" "$(Build.ArtifactStagingDirectory)\symbols\tls12-download-arm64.pdb"
530
491
- task : CmdLine@2
531
- displayName : ' Add Drop PGP Signatures (real sign only)'
532
- condition : and(eq(variables.SignType, 'real'), succeeded())
492
+ displayName : ' Add Drop PGP Signatures'
533
493
inputs :
534
494
failOnStderr : true
535
495
script : |
@@ -562,16 +522,14 @@ extends:
562
522
targetType : ' F'
563
523
targetArgument : ' $(Build.ArtifactStagingDirectory)\drop'
564
524
result : ' PoliCheck.xml'
565
- - ${{ if ne(parameters.PublishTo, 'None') }} :
566
- - task : MicroBuildArchiveSymbols@5
567
- displayName : ' Upload Symbols'
568
- inputs :
569
- SymbolsFeatureName : ' vcpkg'
570
- SymbolsProject : ' VS'
571
- SymbolsAgentPath : ' $(Build.ArtifactStagingDirectory)\symbols'
525
+ - task : MicroBuildArchiveSymbols@5
526
+ displayName : ' Upload Symbols'
527
+ inputs :
528
+ SymbolsFeatureName : ' vcpkg'
529
+ SymbolsProject : ' VS'
530
+ SymbolsAgentPath : ' $(Build.ArtifactStagingDirectory)\symbols'
572
531
- job : github_release
573
532
displayName : ' Publish GitHub Release'
574
- condition : and(succeeded(), eq(variables.SignType, 'real'), ${{ eq(parameters.PublishTo, 'GitHub and NuGet') }})
575
533
dependsOn :
576
534
- arch_independent
577
535
- windows_and_sign
0 commit comments