Skip to content

Commit 932e6ed

Browse files
committed
[ci] Use drop service for SDK insertion artifacts (#9116)
Context: xamarin/yaml-templates@8759ec9 Context: xamarin/sdk-insertions#149 Steps to upload release artifacts to custom blob storage have been replaced with azure-artifacts-drop (aka.ms/drop). A new version of nuget-msi-convert has been added that will create a set of artifact drops for the following shipping artifacts: * nugets * vs-components * vs-packs The nugets drop contains all shipping packages that should be pushed to various feeds or NuGet.org. The components and packs drops are used for VS insertions.
1 parent e94f6a7 commit 932e6ed

File tree

1 file changed

+44
-56
lines changed

1 file changed

+44
-56
lines changed

build-tools/automation/azure-pipelines.yaml

Lines changed: 44 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ extends:
496496
use1ESTemplate: true
497497

498498
# Check - "Xamarin.Android (Prepare .NET Release Convert NuGet to MSI)"
499-
- template: nuget-msi-convert/job/v3.yml@yaml-templates
499+
- template: nuget-msi-convert/job/v4.yml@yaml-templates
500500
parameters:
501501
yamlResourceName: yaml-templates
502502
dependsOn: sign_net_mac_win
@@ -505,32 +505,42 @@ extends:
505505
!*Darwin*
506506
propsArtifactName: $(NuGetArtifactName)
507507
signType: $(MicroBuildSignType)
508-
use1ESTemplate: true
508+
preConvertSteps:
509+
- task: DownloadPipelineArtifact@2
510+
inputs:
511+
artifactName: nuget-signed
512+
artifactPatterns: |
513+
*Darwin*
514+
downloadPath: $(Build.StagingDirectory)\drop\nugets
515+
- task: DownloadPipelineArtifact@2
516+
inputs:
517+
artifactName: nuget-linux-signed
518+
downloadPath: $(Build.StagingDirectory)\drop\nugets
509519
postConvertSteps:
510520
- task: DownloadPipelineArtifact@2
511521
inputs:
512522
artifactName: $(NuGetArtifactName)
513523
downloadPath: $(Build.StagingDirectory)\sign-verify
514524
patterns: |
515525
**/SignVerifyIgnore.txt
516-
517526
- task: MicroBuildCodesignVerify@3
518527
displayName: verify signed msi content
519528
inputs:
520529
TargetFolders: |
521530
$(Build.ArtifactStagingDirectory)\bin\manifests
522-
$(Build.ArtifactStagingDirectory)\bin\manifests-multitarget
531+
$(Build.ArtifactStagingDirectory)\bin\manifests-packs
532+
$(Build.ArtifactStagingDirectory)\bin\msi-nupkgs
523533
ExcludeSNVerify: true
524534
ApprovalListPathForCerts: $(Build.StagingDirectory)\sign-verify\SignVerifyIgnore.txt
525535

526-
# Check - "Xamarin.Android (Prepare .NET Release Push Internal)"
536+
# Check - "Xamarin.Android (Prepare .NET Release Publish symbols and Push to Maestro)"
527537
- job: push_signed_nugets
528-
displayName: Push Internal
538+
displayName: Publish symbols and Push to Maestro
529539
dependsOn:
530540
- nuget_convert
531541
- sign_net_linux
532542
condition: and(eq(dependencies.nuget_convert.result, 'Succeeded'), eq(dependencies.sign_net_linux.result, 'Succeeded'))
533-
timeoutInMinutes: 60
543+
timeoutInMinutes: 90
534544
pool:
535545
name: AzurePipelines-EO
536546
image: $(WindowsPoolImage1ESPT)
@@ -540,67 +550,45 @@ extends:
540550
variables:
541551
- ${{ if eq(variables['MicroBuildSignType'], 'Real') }}:
542552
- group: Publish-Build-Assets
553+
templateContext:
554+
outputs:
555+
- output: artifactsDrop
556+
dropServiceURI: https://devdiv.artifacts.visualstudio.com/DefaultCollection
557+
buildNumber: $(ReleaseDropPrefix)/symbols
558+
dropMetadataContainerName: DropMetadata-$(Build.BuildId)-symbols-$(System.JobAttempt)
559+
sourcePath: $(Build.StagingDirectory)\symbols
560+
retentionDays: 120
561+
toLowerCase: false
543562
steps:
544563
- checkout: self
545564
clean: true
546565
submodules: recursive
547566

567+
# Download symbols to be published to the symbols artifact drop declared above
548568
- task: DownloadPipelineArtifact@2
549569
inputs:
550-
artifactName: nuget-signed
551-
downloadPath: $(Build.StagingDirectory)\nuget-signed
552-
553-
- task: DownloadPipelineArtifact@2
554-
inputs:
555-
artifactName: nuget-linux-signed
556-
downloadPath: $(Build.StagingDirectory)\nuget-signed
570+
artifactName: $(WindowsToolchainPdbArtifactName)
571+
downloadPath: $(Build.StagingDirectory)\symbols
557572

558573
- task: DownloadPipelineArtifact@2
559574
inputs:
560-
artifactName: vs-msi-nugets
561-
downloadPath: $(Build.StagingDirectory)\nuget-signed
575+
artifactName: DropMetadata-$(Build.BuildId)-nugets-$(System.JobAttempt)
576+
downloadPath: $(Build.StagingDirectory)\metadata
577+
displayName: Download nugets drop metadata
562578

563-
- task: DownloadPipelineArtifact@2
579+
- powershell: |
580+
$jsonContent = Get-Content -Path "$(Build.StagingDirectory)\metadata\VSTSDrop.json" -Raw | ConvertFrom-Json
581+
$dropPrefix = $jsonContent.VstsDropBuildArtifact.VstsDropUrl -replace 'https://devdiv.artifacts.visualstudio.com/DefaultCollection/_apis/drop/drops/' -replace '/nugets'
582+
Write-Host "##vso[task.setvariable variable=ReleaseDropPrefix]$dropPrefix"
583+
displayName: Set variable ReleaseDropPrefix
584+
585+
# Download nugets drop created by nuget-msi-convert/job/v4.yml and publish to maestro
586+
- task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@1
587+
displayName: Download $(ReleaseDropPrefix)/nugets
564588
inputs:
565-
artifactName: $(WindowsToolchainPdbArtifactName)
566-
downloadPath: $(Build.StagingDirectory)\nuget-signed
567-
568-
- template: templates\common\upload-vs-insertion-artifacts.yml@sdk-insertions
569-
parameters:
570-
githubToken: $(GitHub.Token)
571-
githubContext: $(NupkgCommitStatusName)
572-
blobName: $(NupkgCommitStatusName)
573-
packagePrefix: xamarin-android
574-
artifactsPath: $(Build.StagingDirectory)\nuget-signed
575-
yamlResourceName: yaml-templates
576-
577-
- template: templates\common\upload-vs-insertion-artifacts.yml@sdk-insertions
578-
parameters:
579-
githubToken: $(GitHub.Token)
580-
githubContext: $(VSDropCommitStatusName)
581-
blobName: $(VSDropCommitStatusName)
582-
packagePrefix: xamarin-android
583-
artifactsPath: $(Build.StagingDirectory)\$(VSDropCommitStatusName)
584-
yamlResourceName: yaml-templates
585-
downloadSteps:
586-
- task: DownloadPipelineArtifact@2
587-
inputs:
588-
artifactName: vsdrop-signed
589-
downloadPath: $(Build.StagingDirectory)\$(VSDropCommitStatusName)
590-
591-
- template: templates\common\upload-vs-insertion-artifacts.yml@sdk-insertions
592-
parameters:
593-
githubToken: $(GitHub.Token)
594-
githubContext: $(MultiTargetVSDropCommitStatusName)
595-
blobName: $(MultiTargetVSDropCommitStatusName)
596-
packagePrefix: xamarin-android
597-
artifactsPath: $(Build.StagingDirectory)\$(MultiTargetVSDropCommitStatusName)
598-
yamlResourceName: yaml-templates
599-
downloadSteps:
600-
- task: DownloadPipelineArtifact@2
601-
inputs:
602-
artifactName: vsdrop-multitarget-signed
603-
downloadPath: $(Build.StagingDirectory)\$(MultiTargetVSDropCommitStatusName)
589+
dropServiceURI: https://devdiv.artifacts.visualstudio.com/DefaultCollection
590+
buildNumber: $(ReleaseDropPrefix)/nugets
591+
destinationPath: $(Build.StagingDirectory)\nuget-signed
604592

605593
- task: DotNetCoreCLI@2
606594
displayName: build Xamarin.Android.Tools.BootstrapTasks.sln

0 commit comments

Comments
 (0)