@ -9,12 +9,14 @@ parameters:
continueOnError : false
continueOnError : false
params : ''
params : ''
artifactNames : ''
artifactNames : ''
downloadArtifacts : true
# These parameters let the user customize the call to sdk-task.ps1 for publishing
# These parameters let the user customize the call to sdk-task.ps1 for publishing
# symbols & general artifacts as well as for signing validation
# symbols & general artifacts as well as for signing validation
symbolPublishingAdditionalParameters : ''
symbolPublishingAdditionalParameters : ''
artifactsPublishingAdditionalParameters : ''
artifactsPublishingAdditionalParameters : ''
signingValidationAdditionalParameters : ''
signingValidationAdditionalParameters : ''
useBuildManifest : false
# Which stages should finish execution before post-build stages start
# Which stages should finish execution before post-build stages start
validateDependsOn:
validateDependsOn:
@ -27,7 +29,7 @@ parameters:
# needs to be updated with the new channel ID
# needs to be updated with the new channel ID
NetEngLatestChannelId : 2
NetEngLatestChannelId : 2
NetEngValidationChannelId : 9
NetEngValidationChannelId : 9
NetCore Dev5ChannelId : 131
NetDev5ChannelId : 131
GeneralTestingChannelId : 529
GeneralTestingChannelId : 529
NETCoreToolingDevChannelId : 548
NETCoreToolingDevChannelId : 548
NETCoreToolingReleaseChannelId : 549
NETCoreToolingReleaseChannelId : 549
@ -35,8 +37,11 @@ parameters:
NETCoreExperimentalChannelId : 562
NETCoreExperimentalChannelId : 562
NetEngServicesIntChannelId : 678
NetEngServicesIntChannelId : 678
NetEngServicesProdChannelId : 679
NetEngServicesProdChannelId : 679
Net5Preview1ChannelId : 737
Net5Preview3ChannelId : 739
Net5Preview2ChannelId : 738
Net5Preview4ChannelId : 856
Net5Preview5ChannelId : 857
NetCoreSDK313xxChannelId : 759
NetCoreSDK313xxInternalChannelId : 760
stages:
stages:
- stage : Validate
- stage : Validate
@ -51,10 +56,8 @@ stages:
displayName : Post-build Checks
displayName : Post-build Checks
dependsOn : setupMaestroVars
dependsOn : setupMaestroVars
variables:
variables:
- name : InitialChannels
- name : TargetChannels
value : $[ dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'] ]
value : $[ dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'] ]
- name : PromoteToMaestroChannelId
value : $[ dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'] ]
pool:
pool:
vmImage : 'windows-2019'
vmImage : 'windows-2019'
steps:
steps:
@ -62,8 +65,8 @@ stages:
displayName : Maestro Channels Consistency
displayName : Maestro Channels Consistency
inputs:
inputs:
filePath : $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
filePath : $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
arguments : -PromoteToChannels "$(InitialChannels)[$(PromoteToMaestroChannelId)] "
arguments : -PromoteToChannels "$(TargetChannels) "
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetCore Dev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview1ChannelId}},${{parameters.Net5Preview2 ChannelId}}
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview3ChannelId}},${{parameters.Net5Preview4ChannelId}},${{parameters.Net5Preview5ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternal ChannelId}}
- job:
- job:
displayName : NuGet Validation
displayName : NuGet Validation
@ -111,6 +114,16 @@ stages:
pool:
pool:
vmImage : 'windows-2019'
vmImage : 'windows-2019'
steps:
steps:
- ${{ if eq(parameters.useBuildManifest, true) }}:
- task : DownloadBuildArtifacts@0
displayName : Download build manifest
inputs:
buildType : specific
buildVersionToDownload : specific
project : $(AzDOProjectName)
pipeline : $(AzDOPipelineId)
buildId : $(AzDOBuildId)
artifactName : BuildManifests
- task : DownloadBuildArtifacts@0
- task : DownloadBuildArtifacts@0
displayName : Download Package Artifacts
displayName : Download Package Artifacts
inputs:
inputs:
@ -133,11 +146,13 @@ stages:
filePath : eng\common\enable-cross-org-publishing.ps1
filePath : eng\common\enable-cross-org-publishing.ps1
arguments : -token $(dn-bot-dnceng-artifact-feeds-rw)
arguments : -token $(dn-bot-dnceng-artifact-feeds-rw)
# Signing validation will optionally work with the buildmanifest file which is downloaded from
# Azure DevOps above.
- task : PowerShell@2
- task : PowerShell@2
displayName : Validate
displayName : Validate
inputs:
inputs:
filePath : eng\common\sdk-task.ps1
filePath : eng\common\sdk-task.ps1
arguments : -task SigningValidation -restore -msbuildEngine dotnet
arguments : -task SigningValidation -restore -msbuildEngine vs
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
/p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
/p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
${{ parameters.signingValidationAdditionalParameters }}
${{ parameters.signingValidationAdditionalParameters }}
@ -190,6 +205,7 @@ stages:
additionalParameters : ${{ parameters.SDLValidationParameters.params }}
additionalParameters : ${{ parameters.SDLValidationParameters.params }}
continueOnError : ${{ parameters.SDLValidationParameters.continueOnError }}
continueOnError : ${{ parameters.SDLValidationParameters.continueOnError }}
artifactNames : ${{ parameters.SDLValidationParameters.artifactNames }}
artifactNames : ${{ parameters.SDLValidationParameters.artifactNames }}
downloadArtifacts : ${{ parameters.SDLValidationParameters.downloadArtifacts }}
- template : \eng\common\templates\post-build\channels\generic-public-channel.yml
- template : \eng\common\templates\post-build\channels\generic-public-channel.yml
parameters:
parameters:
@ -198,9 +214,9 @@ stages:
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'NetCore_Dev5_Publish'
stageName : 'NetCore_Dev5_Publish'
channelName : '.NET Core 5 Dev'
channelName : '.NET 5 Dev'
akaMSChannelName : 'net5/dev'
akaMSChannelName : 'net5/dev'
channelId : ${{ parameters.NetCore Dev5ChannelId }}
channelId : ${{ parameters.NetDev5ChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
@ -211,10 +227,10 @@ stages:
dependsOn : ${{ parameters.publishDependsOn }}
dependsOn : ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'Net5_Preview1 _Publish'
stageName : 'Net5_Preview3 _Publish'
channelName : '.NET 5 Preview 1 '
channelName : '.NET 5 Preview 3 '
akaMSChannelName : 'net5/preview1 '
akaMSChannelName : 'net5/preview3 '
channelId : ${{ parameters.Net5Preview1 ChannelId }}
channelId : ${{ parameters.Net5Preview3 ChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
@ -225,10 +241,24 @@ stages:
dependsOn : ${{ parameters.publishDependsOn }}
dependsOn : ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'Net5_Preview2_Publish'
stageName : 'Net5_Preview4_Publish'
channelName : '.NET 5 Preview 2'
channelName : '.NET 5 Preview 4'
akaMSChannelName : 'net5/preview2'
akaMSChannelName : 'net5/preview4'
channelId : ${{ parameters.Net5Preview2ChannelId }}
channelId : ${{ parameters.Net5Preview4ChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
- template : \eng\common\templates\post-build\channels\generic-public-channel.yml
parameters:
artifactsPublishingAdditionalParameters : ${{ parameters.artifactsPublishingAdditionalParameters }}
dependsOn : ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'Net5_Preview5_Publish'
channelName : '.NET 5 Preview 5'
akaMSChannelName : 'net5/preview5'
channelId : ${{ parameters.Net5Preview5ChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5-symbols/nuget/v3/index.json'
@ -352,3 +382,29 @@ stages:
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json'
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng-symbols/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng-symbols/nuget/v3/index.json'
- template : \eng\common\templates\post-build\channels\generic-public-channel.yml
parameters:
artifactsPublishingAdditionalParameters : ${{ parameters.artifactsPublishingAdditionalParameters }}
dependsOn : ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'NETCore_SDK_313xx_Publishing'
channelName : '.NET Core SDK 3.1.3xx'
channelId : ${{ parameters.NetCoreSDK313xxChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-symbols/nuget/v3/index.json'
- template : \eng\common\templates\post-build\channels\generic-internal-channel.yml
parameters:
artifactsPublishingAdditionalParameters : ${{ parameters.artifactsPublishingAdditionalParameters }}
dependsOn : ${{ parameters.publishDependsOn }}
publishInstallersAndChecksums : ${{ parameters.publishInstallersAndChecksums }}
symbolPublishingAdditionalParameters : ${{ parameters.symbolPublishingAdditionalParameters }}
stageName : 'NETCore_SDK_313xx_Internal_Publishing'
channelName : '.NET Core SDK 3.1.3xx Internal'
channelId : ${{ parameters.NetCoreSDK313xxInternalChannelId }}
transportFeed : 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v3/index.json'
shippingFeed : 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v3/index.json'
symbolsFeed : 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-symbols/nuget/v3/index.json'