Skip to content

Commit 9ba9efa

Browse files
authored
[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 9db28dc commit 9ba9efa

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
@@ -497,7 +497,7 @@ extends:
497497
timeoutInMinutes: 120
498498

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

527-
# Check - "Xamarin.Android (Prepare .NET Release Push Internal)"
537+
# Check - "Xamarin.Android (Prepare .NET Release Publish symbols and Push to Maestro)"
528538
- job: push_signed_nugets
529-
displayName: Push Internal
539+
displayName: Publish symbols and Push to Maestro
530540
dependsOn:
531541
- nuget_convert
532542
- sign_net_linux
533543
condition: and(eq(dependencies.nuget_convert.result, 'Succeeded'), eq(dependencies.sign_net_linux.result, 'Succeeded'))
534-
timeoutInMinutes: 60
544+
timeoutInMinutes: 90
535545
pool:
536546
name: AzurePipelines-EO
537547
image: $(WindowsPoolImage1ESPT)
@@ -541,67 +551,45 @@ extends:
541551
variables:
542552
- ${{ if eq(variables['MicroBuildSignType'], 'Real') }}:
543553
- group: Publish-Build-Assets
554+
templateContext:
555+
outputs:
556+
- output: artifactsDrop
557+
dropServiceURI: https://devdiv.artifacts.visualstudio.com/DefaultCollection
558+
buildNumber: $(ReleaseDropPrefix)/symbols
559+
dropMetadataContainerName: DropMetadata-$(Build.BuildId)-symbols-$(System.JobAttempt)
560+
sourcePath: $(Build.StagingDirectory)\symbols
561+
retentionDays: 120
562+
toLowerCase: false
544563
steps:
545564
- checkout: self
546565
clean: true
547566
submodules: recursive
548567

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

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

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

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

0 commit comments

Comments
 (0)