Merge in 'release/6.0.1xx' changes
This commit is contained in:
commit
b39d25426d
21 changed files with 340 additions and 1195 deletions
|
@ -197,19 +197,19 @@
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21609.4">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.22102.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
|
<Sha>93e08e378eb00a4267ffeca24b6bebb4f6c011ef</Sha>
|
||||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.21609.4">
|
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.22102.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
|
<Sha>93e08e378eb00a4267ffeca24b6bebb4f6c011ef</Sha>
|
||||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21609.4">
|
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.22102.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
|
<Sha>93e08e378eb00a4267ffeca24b6bebb4f6c011ef</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.22103.1">
|
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.22103.1">
|
||||||
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/arcade -->
|
<!-- Dependency from https://github.com/dotnet/arcade -->
|
||||||
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.21609.4</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.22102.3</MicrosoftDotNetBuildTasksInstallersPackageVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Dependency from https://github.com/dotnet/winforms -->
|
<!-- Dependency from https://github.com/dotnet/winforms -->
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
Param(
|
|
||||||
[Parameter(Mandatory=$true)][string] $barToken, # Token generated at https://maestro-prod.westus2.cloudapp.azure.com/Account/Tokens
|
|
||||||
[Parameter(Mandatory=$true)][string] $gitHubPat, # GitHub personal access token from https://github.com/settings/tokens (no auth scopes needed)
|
|
||||||
[Parameter(Mandatory=$true)][string] $azdoPat, # Azure Dev Ops tokens from https://dev.azure.com/dnceng/_details/security/tokens (code read scope needed)
|
|
||||||
[Parameter(Mandatory=$true)][string] $outputFolder, # Where the graphviz.txt file will be created
|
|
||||||
[string] $darcVersion, # darc's version
|
|
||||||
[string] $graphvizVersion = '2.38', # GraphViz version
|
|
||||||
[switch] $includeToolset # Whether the graph should include toolset dependencies or not. i.e. arcade, optimization. For more about
|
|
||||||
# toolset dependencies see https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#toolset-vs-product-dependencies
|
|
||||||
)
|
|
||||||
|
|
||||||
function CheckExitCode ([string]$stage)
|
|
||||||
{
|
|
||||||
$exitCode = $LASTEXITCODE
|
|
||||||
if ($exitCode -ne 0) {
|
|
||||||
Write-PipelineTelemetryError -Category 'Arcade' -Message "Something failed in stage: '$stage'. Check for errors above. Exiting now..."
|
|
||||||
ExitWithExitCode $exitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$ErrorActionPreference = 'Stop'
|
|
||||||
. $PSScriptRoot\tools.ps1
|
|
||||||
|
|
||||||
Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
|
|
||||||
|
|
||||||
Push-Location $PSScriptRoot
|
|
||||||
|
|
||||||
Write-Host 'Installing darc...'
|
|
||||||
. .\darc-init.ps1 -darcVersion $darcVersion
|
|
||||||
CheckExitCode 'Running darc-init'
|
|
||||||
|
|
||||||
$engCommonBaseDir = Join-Path $PSScriptRoot 'native\'
|
|
||||||
$graphvizInstallDir = CommonLibrary\Get-NativeInstallDirectory
|
|
||||||
$nativeToolBaseUri = 'https://netcorenativeassets.blob.core.windows.net/resource-packages/external'
|
|
||||||
$installBin = Join-Path $graphvizInstallDir 'bin'
|
|
||||||
|
|
||||||
Write-Host 'Installing dot...'
|
|
||||||
.\native\install-tool.ps1 -ToolName graphviz -InstallPath $installBin -BaseUri $nativeToolBaseUri -CommonLibraryDirectory $engCommonBaseDir -Version $graphvizVersion -Verbose
|
|
||||||
|
|
||||||
$darcExe = "$env:USERPROFILE\.dotnet\tools"
|
|
||||||
$darcExe = Resolve-Path "$darcExe\darc.exe"
|
|
||||||
|
|
||||||
Create-Directory $outputFolder
|
|
||||||
|
|
||||||
# Generate 3 graph descriptions:
|
|
||||||
# 1. Flat with coherency information
|
|
||||||
# 2. Graphviz (dot) file
|
|
||||||
# 3. Standard dependency graph
|
|
||||||
$graphVizFilePath = "$outputFolder\graphviz.txt"
|
|
||||||
$graphVizImageFilePath = "$outputFolder\graph.png"
|
|
||||||
$normalGraphFilePath = "$outputFolder\graph-full.txt"
|
|
||||||
$flatGraphFilePath = "$outputFolder\graph-flat.txt"
|
|
||||||
$baseOptions = @( '--github-pat', "$gitHubPat", '--azdev-pat', "$azdoPat", '--password', "$barToken" )
|
|
||||||
|
|
||||||
if ($includeToolset) {
|
|
||||||
Write-Host 'Toolsets will be included in the graph...'
|
|
||||||
$baseOptions += @( '--include-toolset' )
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host 'Generating standard dependency graph...'
|
|
||||||
& "$darcExe" get-dependency-graph @baseOptions --output-file $normalGraphFilePath
|
|
||||||
CheckExitCode 'Generating normal dependency graph'
|
|
||||||
|
|
||||||
Write-Host 'Generating flat dependency graph and graphviz file...'
|
|
||||||
& "$darcExe" get-dependency-graph @baseOptions --flat --coherency --graphviz $graphVizFilePath --output-file $flatGraphFilePath
|
|
||||||
CheckExitCode 'Generating flat and graphviz dependency graph'
|
|
||||||
|
|
||||||
Write-Host "Generating graph image $graphVizFilePath"
|
|
||||||
$dotFilePath = Join-Path $installBin "graphviz\$graphvizVersion\release\bin\dot.exe"
|
|
||||||
& "$dotFilePath" -Tpng -o"$graphVizImageFilePath" "$graphVizFilePath"
|
|
||||||
CheckExitCode 'Generating graphviz image'
|
|
||||||
|
|
||||||
Write-Host "'$graphVizFilePath', '$flatGraphFilePath', '$normalGraphFilePath' and '$graphVizImageFilePath' created!"
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
if (!$includeToolset) {
|
|
||||||
Write-Host 'This might be a toolset repo which includes only toolset dependencies. ' -NoNewline -ForegroundColor Yellow
|
|
||||||
Write-Host 'Since -includeToolset is not set there is no graph to create. Include -includeToolset and try again...' -ForegroundColor Yellow
|
|
||||||
}
|
|
||||||
Write-Host $_.ScriptStackTrace
|
|
||||||
Write-PipelineTelemetryError -Category 'Arcade' -Message $_
|
|
||||||
ExitWithExitCode 1
|
|
||||||
} finally {
|
|
||||||
Pop-Location
|
|
||||||
}
|
|
|
@ -5,13 +5,8 @@ param(
|
||||||
[Parameter(Mandatory=$true)][string] $MaestroToken,
|
[Parameter(Mandatory=$true)][string] $MaestroToken,
|
||||||
[Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
|
[Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
|
||||||
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
|
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
|
||||||
[Parameter(Mandatory=$false)][string] $EnableSourceLinkValidation,
|
|
||||||
[Parameter(Mandatory=$false)][string] $EnableSigningValidation,
|
|
||||||
[Parameter(Mandatory=$false)][string] $EnableNugetValidation,
|
|
||||||
[Parameter(Mandatory=$false)][string] $PublishInstallersAndChecksums,
|
|
||||||
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
|
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
|
||||||
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
|
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters
|
||||||
[Parameter(Mandatory=$false)][string] $SigningValidationAdditionalParameters
|
|
||||||
)
|
)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -35,27 +30,6 @@ try {
|
||||||
$optionalParams.Add("--no-wait") | Out-Null
|
$optionalParams.Add("--no-wait") | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("false" -ne $PublishInstallersAndChecksums) {
|
|
||||||
$optionalParams.Add("--publish-installers-and-checksums") | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("true" -eq $EnableNugetValidation) {
|
|
||||||
$optionalParams.Add("--validate-nuget") | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("true" -eq $EnableSourceLinkValidation) {
|
|
||||||
$optionalParams.Add("--validate-sourcelinkchecksums") | Out-Null
|
|
||||||
}
|
|
||||||
|
|
||||||
if ("true" -eq $EnableSigningValidation) {
|
|
||||||
$optionalParams.Add("--validate-signingchecksums") | Out-Null
|
|
||||||
|
|
||||||
if ("" -ne $SigningValidationAdditionalParameters) {
|
|
||||||
$optionalParams.Add("--signing-validation-parameters") | Out-Null
|
|
||||||
$optionalParams.Add($SigningValidationAdditionalParameters) | Out-Null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& $darc add-build-to-channel `
|
& $darc add-build-to-channel `
|
||||||
--id $buildId `
|
--id $buildId `
|
||||||
--publishing-infra-version $PublishingInfraVersion `
|
--publishing-infra-version $PublishingInfraVersion `
|
||||||
|
|
|
@ -15,7 +15,9 @@ Param(
|
||||||
# Optional: Additional params to add to any tool using CredScan.
|
# Optional: Additional params to add to any tool using CredScan.
|
||||||
[string[]] $CrScanAdditionalRunConfigParams,
|
[string[]] $CrScanAdditionalRunConfigParams,
|
||||||
# Optional: Additional params to add to any tool using PoliCheck.
|
# Optional: Additional params to add to any tool using PoliCheck.
|
||||||
[string[]] $PoliCheckAdditionalRunConfigParams
|
[string[]] $PoliCheckAdditionalRunConfigParams,
|
||||||
|
# Optional: Additional params to add to any tool using CodeQL/Semmle.
|
||||||
|
[string[]] $CodeQLAdditionalRunConfigParams
|
||||||
)
|
)
|
||||||
|
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
|
@ -78,6 +80,11 @@ try {
|
||||||
$tool.Args += "Target < $TargetDirectory"
|
$tool.Args += "Target < $TargetDirectory"
|
||||||
}
|
}
|
||||||
$tool.Args += $PoliCheckAdditionalRunConfigParams
|
$tool.Args += $PoliCheckAdditionalRunConfigParams
|
||||||
|
} elseif ($tool.Name -eq 'semmle' -or $tool.Name -eq 'codeql') {
|
||||||
|
if ($targetDirectory) {
|
||||||
|
$tool.Args += "`"SourceCodeDirectory < $TargetDirectory`""
|
||||||
|
}
|
||||||
|
$tool.Args += $CodeQLAdditionalRunConfigParams
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create variable pointing to the args array directly so we can use splat syntax later.
|
# Create variable pointing to the args array directly so we can use splat syntax later.
|
||||||
|
|
|
@ -34,6 +34,7 @@ Param(
|
||||||
[string] $GuardianLoggerLevel='Standard', # Optional: the logger level for the Guardian CLI; options are Trace, Verbose, Standard, Warning, and Error
|
[string] $GuardianLoggerLevel='Standard', # Optional: the logger level for the Guardian CLI; options are Trace, Verbose, Standard, Warning, and Error
|
||||||
[string[]] $CrScanAdditionalRunConfigParams, # Optional: Additional Params to custom build a CredScan run config in the format @("xyz:abc","sdf:1")
|
[string[]] $CrScanAdditionalRunConfigParams, # Optional: Additional Params to custom build a CredScan run config in the format @("xyz:abc","sdf:1")
|
||||||
[string[]] $PoliCheckAdditionalRunConfigParams, # Optional: Additional Params to custom build a Policheck run config in the format @("xyz:abc","sdf:1")
|
[string[]] $PoliCheckAdditionalRunConfigParams, # Optional: Additional Params to custom build a Policheck run config in the format @("xyz:abc","sdf:1")
|
||||||
|
[string[]] $CodeQLAdditionalRunConfigParams, # Optional: Additional Params to custom build a Semmle/CodeQL run config in the format @("xyz < abc","sdf < 1")
|
||||||
[bool] $BreakOnFailure=$False # Optional: Fail the build if there were errors during the run
|
[bool] $BreakOnFailure=$False # Optional: Fail the build if there were errors during the run
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -105,7 +106,8 @@ try {
|
||||||
-AzureDevOpsAccessToken $AzureDevOpsAccessToken `
|
-AzureDevOpsAccessToken $AzureDevOpsAccessToken `
|
||||||
-GuardianLoggerLevel $GuardianLoggerLevel `
|
-GuardianLoggerLevel $GuardianLoggerLevel `
|
||||||
-CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams `
|
-CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams `
|
||||||
-PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
|
-PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams `
|
||||||
|
-CodeQLAdditionalRunConfigParams $CodeQLAdditionalRunConfigParams
|
||||||
if ($BreakOnFailure) {
|
if ($BreakOnFailure) {
|
||||||
Exit-IfNZEC "Sdl"
|
Exit-IfNZEC "Sdl"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Microsoft.Guardian.Cli" version="0.53.3"/>
|
<package id="Microsoft.Guardian.Cli" version="0.110.1"/>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
|
@ -29,14 +29,6 @@ parameters:
|
||||||
# Optional: download a list of pipeline artifacts. 'downloadArtifacts' controls build artifacts,
|
# Optional: download a list of pipeline artifacts. 'downloadArtifacts' controls build artifacts,
|
||||||
# not pipeline artifacts, so doesn't affect the use of this parameter.
|
# not pipeline artifacts, so doesn't affect the use of this parameter.
|
||||||
pipelineArtifactNames: []
|
pipelineArtifactNames: []
|
||||||
# Optional: location and ID of the AzDO build that the build/pipeline artifacts should be
|
|
||||||
# downloaded from. By default, uses runtime expressions to decide based on the variables set by
|
|
||||||
# the 'setupMaestroVars' dependency. Overriding this parameter is necessary if SDL tasks are
|
|
||||||
# running without Maestro++/BAR involved, or to download artifacts from a specific existing build
|
|
||||||
# to iterate quickly on SDL changes.
|
|
||||||
AzDOProjectName: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
AzDOPipelineId: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
AzDOBuildId: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: Run_SDL
|
- job: Run_SDL
|
||||||
|
@ -54,21 +46,26 @@ jobs:
|
||||||
# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
|
# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
|
||||||
# sync with the packages.config file.
|
# sync with the packages.config file.
|
||||||
- name: DefaultGuardianVersion
|
- name: DefaultGuardianVersion
|
||||||
value: 0.53.3
|
value: 0.110.1
|
||||||
- name: GuardianVersion
|
- name: GuardianVersion
|
||||||
value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
|
value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
|
||||||
- name: GuardianPackagesConfigFile
|
- name: GuardianPackagesConfigFile
|
||||||
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
|
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
|
||||||
pool:
|
pool:
|
||||||
# To extract archives (.tar.gz, .zip), we need access to "tar", added in Windows 10/2019.
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
${{ if eq(parameters.extractArchiveArtifacts, 'false') }}:
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
vmImage: windows-2019
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
${{ if ne(parameters.extractArchiveArtifacts, 'false') }}:
|
demands: Cmd
|
||||||
vmImage: windows-2019
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
steps:
|
steps:
|
||||||
- checkout: self
|
- checkout: self
|
||||||
clean: true
|
clean: true
|
||||||
|
|
||||||
|
- template: /eng/common/templates/post-build/setup-maestro-vars.yml
|
||||||
|
|
||||||
- ${{ if ne(parameters.downloadArtifacts, 'false')}}:
|
- ${{ if ne(parameters.downloadArtifacts, 'false')}}:
|
||||||
- ${{ if ne(parameters.artifactNames, '') }}:
|
- ${{ if ne(parameters.artifactNames, '') }}:
|
||||||
- ${{ each artifactName in parameters.artifactNames }}:
|
- ${{ each artifactName in parameters.artifactNames }}:
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
parameters:
|
|
||||||
# Optional: dependencies of the job
|
|
||||||
dependsOn: ''
|
|
||||||
|
|
||||||
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
|
|
||||||
pool: {}
|
|
||||||
|
|
||||||
# Optional: Include toolset dependencies in the generated graph files
|
|
||||||
includeToolset: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: Generate_Graph_Files
|
|
||||||
|
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
|
||||||
|
|
||||||
displayName: Generate Graph Files
|
|
||||||
|
|
||||||
pool: ${{ parameters.pool }}
|
|
||||||
|
|
||||||
variables:
|
|
||||||
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
|
|
||||||
# DotNet-AllOrgs-Darc-Pats provides: dn-bot-devdiv-dnceng-rw-code-pat
|
|
||||||
- group: Publish-Build-Assets
|
|
||||||
- group: DotNet-AllOrgs-Darc-Pats
|
|
||||||
- name: _GraphArguments
|
|
||||||
value: -gitHubPat $(BotAccount-dotnet-maestro-bot-PAT)
|
|
||||||
-azdoPat $(dn-bot-devdiv-dnceng-rw-code-pat)
|
|
||||||
-barToken $(MaestroAccessToken)
|
|
||||||
-outputFolder '$(Build.StagingDirectory)/GraphFiles/'
|
|
||||||
- ${{ if ne(parameters.includeToolset, 'false') }}:
|
|
||||||
- name: _GraphArguments
|
|
||||||
value: ${{ variables._GraphArguments }} -includeToolset
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Generate Graph Files
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\generate-graph-files.ps1
|
|
||||||
arguments: $(_GraphArguments)
|
|
||||||
continueOnError: true
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: Publish Graph to Artifacts
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '$(Build.StagingDirectory)/GraphFiles'
|
|
||||||
PublishLocation: Container
|
|
||||||
ArtifactName: GraphFiles
|
|
||||||
continueOnError: true
|
|
||||||
condition: always()
|
|
|
@ -24,6 +24,7 @@ parameters:
|
||||||
enablePublishBuildAssets: false
|
enablePublishBuildAssets: false
|
||||||
enablePublishTestResults: false
|
enablePublishTestResults: false
|
||||||
enablePublishUsingPipelines: false
|
enablePublishUsingPipelines: false
|
||||||
|
disableComponentGovernance: false
|
||||||
mergeTestResults: false
|
mergeTestResults: false
|
||||||
testRunTitle: ''
|
testRunTitle: ''
|
||||||
testResultsFormat: ''
|
testResultsFormat: ''
|
||||||
|
@ -136,6 +137,10 @@ jobs:
|
||||||
richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin
|
richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
|
|
||||||
|
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), ne(parameters.disableComponentGovernance, 'true')) }}:
|
||||||
|
- task: ComponentGovernanceComponentDetection@0
|
||||||
|
continueOnError: true
|
||||||
|
|
||||||
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
|
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- task: MicroBuildCleanup@1
|
- task: MicroBuildCleanup@1
|
||||||
|
|
|
@ -3,9 +3,8 @@ parameters:
|
||||||
dependsOn: ''
|
dependsOn: ''
|
||||||
|
|
||||||
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
|
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
|
||||||
pool:
|
pool: ''
|
||||||
vmImage: windows-2019
|
|
||||||
|
|
||||||
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
|
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
|
||||||
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
|
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
|
||||||
|
|
||||||
|
@ -31,7 +30,18 @@ jobs:
|
||||||
|
|
||||||
displayName: OneLocBuild
|
displayName: OneLocBuild
|
||||||
|
|
||||||
pool: ${{ parameters.pool }}
|
${{ if ne(parameters.pool, '') }}:
|
||||||
|
pool: ${{ parameters.pool }}
|
||||||
|
${{ if eq(parameters.pool, '') }}:
|
||||||
|
pool:
|
||||||
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
|
demands: Cmd
|
||||||
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
|
- group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
|
||||||
|
|
|
@ -38,10 +38,6 @@ jobs:
|
||||||
value: ${{ parameters.configuration }}
|
value: ${{ parameters.configuration }}
|
||||||
- group: Publish-Build-Assets
|
- group: Publish-Build-Assets
|
||||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||||
# Skip component governance and codesign validation for SDL. These jobs
|
|
||||||
# create no content.
|
|
||||||
- name: skipComponentGovernanceDetection
|
|
||||||
value: true
|
|
||||||
- name: runCodesignValidationInjection
|
- name: runCodesignValidationInjection
|
||||||
value: false
|
value: false
|
||||||
|
|
||||||
|
|
31
eng/common/templates/jobs/codeql-build.yml
Normal file
31
eng/common/templates/jobs/codeql-build.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
parameters:
|
||||||
|
# See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md
|
||||||
|
continueOnError: false
|
||||||
|
# Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
|
||||||
|
jobs: []
|
||||||
|
# Optional: if specified, restore and use this version of Guardian instead of the default.
|
||||||
|
overrideGuardianVersion: ''
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: /eng/common/templates/jobs/jobs.yml
|
||||||
|
parameters:
|
||||||
|
enableMicrobuild: false
|
||||||
|
enablePublishBuildArtifacts: false
|
||||||
|
enablePublishTestResults: false
|
||||||
|
enablePublishBuildAssets: false
|
||||||
|
enablePublishUsingPipelines: false
|
||||||
|
enableTelemetry: true
|
||||||
|
|
||||||
|
variables:
|
||||||
|
- group: Publish-Build-Assets
|
||||||
|
# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
|
||||||
|
# sync with the packages.config file.
|
||||||
|
- name: DefaultGuardianVersion
|
||||||
|
value: 0.109.0
|
||||||
|
- name: GuardianPackagesConfigFile
|
||||||
|
value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
|
||||||
|
- name: GuardianVersion
|
||||||
|
value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
|
||||||
|
|
||||||
|
jobs: ${{ parameters.jobs }}
|
||||||
|
|
|
@ -8,6 +8,10 @@ parameters:
|
||||||
# Optional: Enable publishing using release pipelines
|
# Optional: Enable publishing using release pipelines
|
||||||
enablePublishUsingPipelines: false
|
enablePublishUsingPipelines: false
|
||||||
|
|
||||||
|
# Optional: Disable component governance detection. In general, component governance
|
||||||
|
# should be on for all jobs. Use only in the event of issues.
|
||||||
|
disableComponentGovernance: false
|
||||||
|
|
||||||
# Optional: Enable running the source-build jobs to build repo from source
|
# Optional: Enable running the source-build jobs to build repo from source
|
||||||
enableSourceBuild: false
|
enableSourceBuild: false
|
||||||
|
|
||||||
|
@ -83,17 +87,15 @@ jobs:
|
||||||
- ${{ if eq(parameters.enableSourceBuild, true) }}:
|
- ${{ if eq(parameters.enableSourceBuild, true) }}:
|
||||||
- Source_Build_Complete
|
- Source_Build_Complete
|
||||||
pool:
|
pool:
|
||||||
vmImage: windows-2019
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
|
demands: Cmd
|
||||||
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
|
|
||||||
runAsPublic: ${{ parameters.runAsPublic }}
|
runAsPublic: ${{ parameters.runAsPublic }}
|
||||||
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
|
publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
|
||||||
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
|
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
|
||||||
|
|
||||||
- ${{ if eq(parameters.graphFileGeneration.enabled, true) }}:
|
|
||||||
- template: ../job/generate-graph-files.yml
|
|
||||||
parameters:
|
|
||||||
continueOnError: ${{ parameters.continueOnError }}
|
|
||||||
includeToolset: ${{ parameters.graphFileGeneration.includeToolset }}
|
|
||||||
dependsOn:
|
|
||||||
- Asset_Registry_Publish
|
|
||||||
pool:
|
|
||||||
vmImage: windows-2019
|
|
||||||
|
|
|
@ -1,190 +0,0 @@
|
||||||
parameters:
|
|
||||||
BARBuildId: ''
|
|
||||||
PromoteToChannelIds: ''
|
|
||||||
artifactsPublishingAdditionalParameters: ''
|
|
||||||
dependsOn:
|
|
||||||
- Validate
|
|
||||||
publishInstallersAndChecksums: true
|
|
||||||
symbolPublishingAdditionalParameters: ''
|
|
||||||
stageName: ''
|
|
||||||
channelName: ''
|
|
||||||
channelId: ''
|
|
||||||
transportFeed: ''
|
|
||||||
shippingFeed: ''
|
|
||||||
symbolsFeed: ''
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- stage: ${{ parameters.stageName }}
|
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
|
||||||
variables:
|
|
||||||
- template: ../common-variables.yml
|
|
||||||
displayName: ${{ parameters.channelName }} Publishing
|
|
||||||
jobs:
|
|
||||||
- template: ../setup-maestro-vars.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
|
|
||||||
- job: publish_symbols
|
|
||||||
displayName: Symbol Publishing
|
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
|
||||||
variables:
|
|
||||||
- group: DotNet-Symbol-Server-Pats
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- script: echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
|
|
||||||
displayName: Warn about v2 Arcade Publishing Usage
|
|
||||||
|
|
||||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
|
||||||
- task: NuGetAuthenticate@0
|
|
||||||
displayName: 'Authenticate to AzDO Feeds'
|
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
|
||||||
displayName: Download Build Assets
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
buildType: specific
|
|
||||||
buildVersionToDownload: specific
|
|
||||||
project: $(AzDOProjectName)
|
|
||||||
pipeline: $(AzDOPipelineId)
|
|
||||||
buildId: $(AzDOBuildId)
|
|
||||||
downloadType: 'specific'
|
|
||||||
itemPattern: |
|
|
||||||
PdbArtifacts/**
|
|
||||||
BlobArtifacts/**
|
|
||||||
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
checkDownloadedFiles: true
|
|
||||||
|
|
||||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
|
||||||
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
|
|
||||||
# otherwise it'll complain about accessing a private feed.
|
|
||||||
- task: NuGetAuthenticate@0
|
|
||||||
displayName: 'Authenticate to AzDO Feeds'
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Enable cross-org publishing
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\enable-cross-org-publishing.ps1
|
|
||||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Publish
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\sdk-task.ps1
|
|
||||||
arguments: -task PublishToSymbolServers -restore -msbuildEngine dotnet
|
|
||||||
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
|
|
||||||
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
|
|
||||||
/p:PDBArtifactsDirectory='$(Build.ArtifactStagingDirectory)/PDBArtifacts/'
|
|
||||||
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
|
|
||||||
/p:SymbolPublishingExclusionsFile='$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
|
|
||||||
/p:Configuration=Release
|
|
||||||
/p:PublishToMSDL=false
|
|
||||||
${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
|
|
||||||
- template: ../../steps/publish-logs.yml
|
|
||||||
parameters:
|
|
||||||
StageLabel: '${{ parameters.stageName }}'
|
|
||||||
JobLabel: 'SymbolPublishing'
|
|
||||||
|
|
||||||
- job: publish_assets
|
|
||||||
displayName: Publish Assets
|
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
|
||||||
- name: BARBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
|
|
||||||
- name: IsStableBuild
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- script: echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
|
|
||||||
displayName: Warn about v2 Arcade Publishing Usage
|
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
|
||||||
displayName: Download Build Assets
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
buildType: specific
|
|
||||||
buildVersionToDownload: specific
|
|
||||||
project: $(AzDOProjectName)
|
|
||||||
pipeline: $(AzDOPipelineId)
|
|
||||||
buildId: $(AzDOBuildId)
|
|
||||||
downloadType: 'specific'
|
|
||||||
itemPattern: |
|
|
||||||
PackageArtifacts/**
|
|
||||||
BlobArtifacts/**
|
|
||||||
AssetManifests/**
|
|
||||||
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
checkDownloadedFiles: true
|
|
||||||
|
|
||||||
- task: NuGetToolInstaller@1
|
|
||||||
displayName: 'Install NuGet.exe'
|
|
||||||
|
|
||||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
|
||||||
- task: NuGetAuthenticate@0
|
|
||||||
displayName: 'Authenticate to AzDO Feeds'
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Enable cross-org publishing
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\enable-cross-org-publishing.ps1
|
|
||||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Publish Assets
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\sdk-task.ps1
|
|
||||||
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
|
|
||||||
/p:PublishingInfraVersion=2
|
|
||||||
/p:IsStableBuild=$(IsStableBuild)
|
|
||||||
/p:IsInternalBuild=$(IsInternalBuild)
|
|
||||||
/p:RepositoryName=$(Build.Repository.Name)
|
|
||||||
/p:CommitSha=$(Build.SourceVersion)
|
|
||||||
/p:NugetPath=$(NuGetExeToolPath)
|
|
||||||
/p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
|
|
||||||
/p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
|
|
||||||
/p:BARBuildId=$(BARBuildId)
|
|
||||||
/p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
|
|
||||||
/p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
|
|
||||||
/p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
|
|
||||||
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
|
|
||||||
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
|
|
||||||
/p:Configuration=Release
|
|
||||||
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
/p:ChecksumsTargetStaticFeed=$(InternalChecksumsBlobFeedUrl)
|
|
||||||
/p:ChecksumsAzureAccountKey=$(InternalChecksumsBlobFeedKey)
|
|
||||||
/p:InstallersTargetStaticFeed=$(InternalInstallersBlobFeedUrl)
|
|
||||||
/p:InstallersAzureAccountKey=$(InternalInstallersBlobFeedKey)
|
|
||||||
/p:AzureDevOpsStaticShippingFeed='${{ parameters.shippingFeed }}'
|
|
||||||
/p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:AzureDevOpsStaticTransportFeed='${{ parameters.transportFeed }}'
|
|
||||||
/p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:AzureDevOpsStaticSymbolsFeed='${{ parameters.symbolsFeed }}'
|
|
||||||
/p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:PublishToMSDL=false
|
|
||||||
${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
|
|
||||||
- template: ../../steps/publish-logs.yml
|
|
||||||
parameters:
|
|
||||||
StageLabel: '${{ parameters.stageName }}'
|
|
||||||
JobLabel: 'AssetsPublishing'
|
|
||||||
|
|
||||||
- template: ../../steps/add-build-to-channel.yml
|
|
||||||
parameters:
|
|
||||||
ChannelId: ${{ parameters.channelId }}
|
|
|
@ -1,192 +0,0 @@
|
||||||
parameters:
|
|
||||||
BARBuildId: ''
|
|
||||||
PromoteToChannelIds: ''
|
|
||||||
artifactsPublishingAdditionalParameters: ''
|
|
||||||
dependsOn:
|
|
||||||
- Validate
|
|
||||||
publishInstallersAndChecksums: true
|
|
||||||
symbolPublishingAdditionalParameters: ''
|
|
||||||
stageName: ''
|
|
||||||
channelName: ''
|
|
||||||
channelId: ''
|
|
||||||
transportFeed: ''
|
|
||||||
shippingFeed: ''
|
|
||||||
symbolsFeed: ''
|
|
||||||
# If the channel name is empty, no links will be generated
|
|
||||||
akaMSChannelName: ''
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- stage: ${{ parameters.stageName }}
|
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
|
||||||
variables:
|
|
||||||
- template: ../common-variables.yml
|
|
||||||
displayName: ${{ parameters.channelName }} Publishing
|
|
||||||
jobs:
|
|
||||||
- template: ../setup-maestro-vars.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
|
|
||||||
- job: publish_symbols
|
|
||||||
displayName: Symbol Publishing
|
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
|
||||||
variables:
|
|
||||||
- group: DotNet-Symbol-Server-Pats
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- script: echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
|
|
||||||
displayName: Warn about v2 Arcade Publishing Usage
|
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
|
||||||
displayName: Download Build Assets
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
buildType: specific
|
|
||||||
buildVersionToDownload: specific
|
|
||||||
project: $(AzDOProjectName)
|
|
||||||
pipeline: $(AzDOPipelineId)
|
|
||||||
buildId: $(AzDOBuildId)
|
|
||||||
downloadType: 'specific'
|
|
||||||
itemPattern: |
|
|
||||||
PdbArtifacts/**
|
|
||||||
BlobArtifacts/**
|
|
||||||
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
checkDownloadedFiles: true
|
|
||||||
|
|
||||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
|
||||||
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
|
|
||||||
# otherwise it'll complain about accessing a private feed.
|
|
||||||
- task: NuGetAuthenticate@0
|
|
||||||
displayName: 'Authenticate to AzDO Feeds'
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Enable cross-org publishing
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\enable-cross-org-publishing.ps1
|
|
||||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Publish
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\sdk-task.ps1
|
|
||||||
arguments: -task PublishToSymbolServers -restore -msbuildEngine dotnet
|
|
||||||
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
|
|
||||||
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
|
|
||||||
/p:PDBArtifactsDirectory='$(Build.ArtifactStagingDirectory)/PDBArtifacts/'
|
|
||||||
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
|
|
||||||
/p:SymbolPublishingExclusionsFile='$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
|
|
||||||
/p:Configuration=Release
|
|
||||||
${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
|
|
||||||
- template: ../../steps/publish-logs.yml
|
|
||||||
parameters:
|
|
||||||
StageLabel: '${{ parameters.stageName }}'
|
|
||||||
JobLabel: 'SymbolPublishing'
|
|
||||||
|
|
||||||
- job: publish_assets
|
|
||||||
displayName: Publish Assets
|
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
|
||||||
- name: BARBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
|
|
||||||
- name: IsStableBuild
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
- name: ArtifactsCategory
|
|
||||||
value: ${{ coalesce(variables._DotNetArtifactsCategory, '.NETCore') }}
|
|
||||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- script: echo "##vso[task.logissue type=warning]Going forward, v2 Arcade publishing is no longer supported. Please read https://github.com/dotnet/arcade/blob/main/Documentation/CorePackages/Publishing.md for details, then contact dnceng if you have further questions."
|
|
||||||
displayName: Warn about v2 Arcade Publishing Usage
|
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
|
||||||
displayName: Download Build Assets
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
buildType: specific
|
|
||||||
buildVersionToDownload: specific
|
|
||||||
project: $(AzDOProjectName)
|
|
||||||
pipeline: $(AzDOPipelineId)
|
|
||||||
buildId: $(AzDOBuildId)
|
|
||||||
downloadType: 'specific'
|
|
||||||
itemPattern: |
|
|
||||||
PackageArtifacts/**
|
|
||||||
BlobArtifacts/**
|
|
||||||
AssetManifests/**
|
|
||||||
downloadPath: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
checkDownloadedFiles: true
|
|
||||||
|
|
||||||
- task: NuGetToolInstaller@1
|
|
||||||
displayName: 'Install NuGet.exe'
|
|
||||||
|
|
||||||
# This is necessary whenever we want to publish/restore to an AzDO private feed
|
|
||||||
- task: NuGetAuthenticate@0
|
|
||||||
displayName: 'Authenticate to AzDO Feeds'
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Enable cross-org publishing
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\enable-cross-org-publishing.ps1
|
|
||||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Publish Assets
|
|
||||||
inputs:
|
|
||||||
filePath: eng\common\sdk-task.ps1
|
|
||||||
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
|
|
||||||
/p:PublishingInfraVersion=2
|
|
||||||
/p:ArtifactsCategory=$(ArtifactsCategory)
|
|
||||||
/p:IsStableBuild=$(IsStableBuild)
|
|
||||||
/p:IsInternalBuild=$(IsInternalBuild)
|
|
||||||
/p:RepositoryName=$(Build.Repository.Name)
|
|
||||||
/p:CommitSha=$(Build.SourceVersion)
|
|
||||||
/p:NugetPath=$(NuGetExeToolPath)
|
|
||||||
/p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
|
|
||||||
/p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
|
|
||||||
/p:BARBuildId=$(BARBuildId)
|
|
||||||
/p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
|
|
||||||
/p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
|
|
||||||
/p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
|
|
||||||
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
|
|
||||||
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
|
|
||||||
/p:Configuration=Release
|
|
||||||
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
|
|
||||||
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
|
|
||||||
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
|
|
||||||
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
|
|
||||||
/p:AzureDevOpsStaticShippingFeed='${{ parameters.shippingFeed }}'
|
|
||||||
/p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:AzureDevOpsStaticTransportFeed='${{ parameters.transportFeed }}'
|
|
||||||
/p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:AzureDevOpsStaticSymbolsFeed='${{ parameters.symbolsFeed }}'
|
|
||||||
/p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
|
|
||||||
/p:LatestLinkShortUrlPrefix=dotnet/'${{ parameters.akaMSChannelName }}'
|
|
||||||
/p:AkaMSClientId=$(akams-client-id)
|
|
||||||
/p:AkaMSClientSecret=$(akams-client-secret)
|
|
||||||
${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
|
|
||||||
- template: ../../steps/publish-logs.yml
|
|
||||||
parameters:
|
|
||||||
StageLabel: '${{ parameters.stageName }}'
|
|
||||||
JobLabel: 'AssetsPublishing'
|
|
||||||
|
|
||||||
- template: ../../steps/add-build-to-channel.yml
|
|
||||||
parameters:
|
|
||||||
ChannelId: ${{ parameters.channelId }}
|
|
|
@ -4,54 +4,6 @@ variables:
|
||||||
- group: DotNet-DotNetCli-Storage
|
- group: DotNet-DotNetCli-Storage
|
||||||
- group: DotNet-MSRC-Storage
|
- group: DotNet-MSRC-Storage
|
||||||
- group: Publish-Build-Assets
|
- group: Publish-Build-Assets
|
||||||
|
|
||||||
# .NET Core 3.1 Dev
|
|
||||||
- name: PublicDevRelease_31_Channel_Id
|
|
||||||
value: 128
|
|
||||||
|
|
||||||
# .NET 5 Dev
|
|
||||||
- name: Net_5_Dev_Channel_Id
|
|
||||||
value: 131
|
|
||||||
|
|
||||||
# .NET Eng - Validation
|
|
||||||
- name: Net_Eng_Validation_Channel_Id
|
|
||||||
value: 9
|
|
||||||
|
|
||||||
# .NET Eng - Latest
|
|
||||||
- name: Net_Eng_Latest_Channel_Id
|
|
||||||
value: 2
|
|
||||||
|
|
||||||
# .NET 3 Eng - Validation
|
|
||||||
- name: NET_3_Eng_Validation_Channel_Id
|
|
||||||
value: 390
|
|
||||||
|
|
||||||
# .NET 3 Eng
|
|
||||||
- name: NetCore_3_Tools_Channel_Id
|
|
||||||
value: 344
|
|
||||||
|
|
||||||
# .NET Core 3.0 Internal Servicing
|
|
||||||
- name: InternalServicing_30_Channel_Id
|
|
||||||
value: 184
|
|
||||||
|
|
||||||
# .NET Core 3.0 Release
|
|
||||||
- name: PublicRelease_30_Channel_Id
|
|
||||||
value: 19
|
|
||||||
|
|
||||||
# .NET Core 3.1 Release
|
|
||||||
- name: PublicRelease_31_Channel_Id
|
|
||||||
value: 129
|
|
||||||
|
|
||||||
# General Testing
|
|
||||||
- name: GeneralTesting_Channel_Id
|
|
||||||
value: 529
|
|
||||||
|
|
||||||
# .NET Core 3.1 Blazor Features
|
|
||||||
- name: NetCore_31_Blazor_Features_Channel_Id
|
|
||||||
value: 531
|
|
||||||
|
|
||||||
# .NET Core Experimental
|
|
||||||
- name: NetCore_Experimental_Channel_Id
|
|
||||||
value: 562
|
|
||||||
|
|
||||||
# Whether the build is internal or not
|
# Whether the build is internal or not
|
||||||
- name: IsInternalBuild
|
- name: IsInternalBuild
|
||||||
|
@ -70,30 +22,5 @@ variables:
|
||||||
- name: SymbolToolVersion
|
- name: SymbolToolVersion
|
||||||
value: 1.0.1
|
value: 1.0.1
|
||||||
|
|
||||||
# Feed Configurations
|
|
||||||
# These should include the suffix "/index.json"
|
|
||||||
|
|
||||||
# Default locations for Installers and checksums
|
|
||||||
# Public Locations
|
|
||||||
- name: ChecksumsBlobFeedUrl
|
|
||||||
value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
|
|
||||||
- name: InstallersBlobFeedUrl
|
|
||||||
value: https://dotnetcli.blob.core.windows.net/dotnet/index.json
|
|
||||||
|
|
||||||
# Private Locations
|
|
||||||
- name: InternalChecksumsBlobFeedUrl
|
|
||||||
value: https://dotnetclichecksumsmsrc.blob.core.windows.net/dotnet/index.json
|
|
||||||
- name: InternalChecksumsBlobFeedKey
|
|
||||||
value: $(dotnetclichecksumsmsrc-storage-key)
|
|
||||||
|
|
||||||
- name: InternalInstallersBlobFeedUrl
|
|
||||||
value: https://dotnetclimsrc.blob.core.windows.net/dotnet/index.json
|
|
||||||
- name: InternalInstallersBlobFeedKey
|
|
||||||
value: $(dotnetclimsrc-access-key)
|
|
||||||
|
|
||||||
# Skip component governance and codesign validation for SDL. These jobs
|
|
||||||
# create no content.
|
|
||||||
- name: skipComponentGovernanceDetection
|
|
||||||
value: true
|
|
||||||
- name: runCodesignValidationInjection
|
- name: runCodesignValidationInjection
|
||||||
value: false
|
value: false
|
||||||
|
|
|
@ -1,113 +1,114 @@
|
||||||
parameters:
|
parameters:
|
||||||
# Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST.
|
# Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST.
|
||||||
# Publishing V2 accepts optionally outlining the publishing stages - default is inline.
|
# Publishing V1 is no longer supported
|
||||||
# Publishing V3 DOES NOT accept inlining the publishing stages.
|
# Publishing V2 is no longer supported
|
||||||
publishingInfraVersion: 2
|
# Publishing V3 is the default
|
||||||
# When set to true the publishing templates from the repo will be used
|
- name: publishingInfraVersion
|
||||||
# otherwise Darc add-build-to-channel will be used to trigger the promotion pipeline
|
displayName: Which version of publishing should be used to promote the build definition?
|
||||||
inline: true
|
type: number
|
||||||
|
default: 3
|
||||||
|
values:
|
||||||
|
- 3
|
||||||
|
|
||||||
# Only used if inline==false. When set to true will stall the current build until
|
- name: BARBuildId
|
||||||
# the Promotion Pipeline build finishes. Otherwise, the current build will continue
|
displayName: BAR Build Id
|
||||||
# execution concurrently with the promotion build.
|
type: number
|
||||||
waitPublishingFinish: true
|
default: 0
|
||||||
|
|
||||||
BARBuildId: ''
|
- name: PromoteToChannelIds
|
||||||
PromoteToChannelIds: ''
|
displayName: Channel to promote BARBuildId to
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
enableSourceLinkValidation: false
|
- name: enableSourceLinkValidation
|
||||||
enableSigningValidation: true
|
displayName: Enable SourceLink validation
|
||||||
enableSymbolValidation: false
|
type: boolean
|
||||||
enableNugetValidation: true
|
default: false
|
||||||
publishInstallersAndChecksums: true
|
|
||||||
SDLValidationParameters:
|
- name: enableSigningValidation
|
||||||
enable: false
|
displayName: Enable signing validation
|
||||||
continueOnError: false
|
type: boolean
|
||||||
params: ''
|
default: true
|
||||||
artifactNames: ''
|
|
||||||
downloadArtifacts: true
|
- name: enableSymbolValidation
|
||||||
|
displayName: Enable symbol validation
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
- name: enableNugetValidation
|
||||||
|
displayName: Enable NuGet validation
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
- name: publishInstallersAndChecksums
|
||||||
|
displayName: Publish installers and checksums
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
- name: SDLValidationParameters
|
||||||
|
type: object
|
||||||
|
default:
|
||||||
|
enable: false
|
||||||
|
continueOnError: false
|
||||||
|
params: ''
|
||||||
|
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: ''
|
- name: symbolPublishingAdditionalParameters
|
||||||
artifactsPublishingAdditionalParameters: ''
|
displayName: Symbol publishing additional parameters
|
||||||
signingValidationAdditionalParameters: ''
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
- name: artifactsPublishingAdditionalParameters
|
||||||
|
displayName: Artifact publishing additional parameters
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
- name: signingValidationAdditionalParameters
|
||||||
|
displayName: Signing validation additional parameters
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
# Which stages should finish execution before post-build stages start
|
# Which stages should finish execution before post-build stages start
|
||||||
validateDependsOn:
|
- name: validateDependsOn
|
||||||
- build
|
type: object
|
||||||
publishDependsOn:
|
default:
|
||||||
- Validate
|
- build
|
||||||
|
|
||||||
# Channel ID's instantiated in this file.
|
- name: publishDependsOn
|
||||||
# When adding a new channel implementation the call to `check-channel-consistency.ps1`
|
type: object
|
||||||
# needs to be updated with the new channel ID
|
default:
|
||||||
NetEngLatestChannelId: 2
|
- Validate
|
||||||
NetEngValidationChannelId: 9
|
|
||||||
NetDev5ChannelId: 131
|
|
||||||
NetDev6ChannelId: 1296
|
|
||||||
GeneralTestingChannelId: 529
|
|
||||||
NETCoreToolingDevChannelId: 548
|
|
||||||
NETCoreToolingReleaseChannelId: 549
|
|
||||||
NETInternalToolingChannelId: 551
|
|
||||||
NETCoreExperimentalChannelId: 562
|
|
||||||
NetEngServicesIntChannelId: 678
|
|
||||||
NetEngServicesProdChannelId: 679
|
|
||||||
NetCoreSDK313xxChannelId: 759
|
|
||||||
NetCoreSDK313xxInternalChannelId: 760
|
|
||||||
NetCoreSDK314xxChannelId: 921
|
|
||||||
NetCoreSDK314xxInternalChannelId: 922
|
|
||||||
VS166ChannelId: 1010
|
|
||||||
VS167ChannelId: 1011
|
|
||||||
VS168ChannelId: 1154
|
|
||||||
VSMasterChannelId: 1012
|
|
||||||
VS169ChannelId: 1473
|
|
||||||
VS1610ChannelId: 1692
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- ${{ if or(and(le(parameters.publishingInfraVersion, 2), eq(parameters.inline, 'true')), eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
|
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
|
||||||
- stage: Validate
|
- stage: Validate
|
||||||
dependsOn: ${{ parameters.validateDependsOn }}
|
dependsOn: ${{ parameters.validateDependsOn }}
|
||||||
displayName: Validate Build Assets
|
displayName: Validate Build Assets
|
||||||
variables:
|
variables:
|
||||||
- template: common-variables.yml
|
- template: common-variables.yml
|
||||||
jobs:
|
jobs:
|
||||||
- template: setup-maestro-vars.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
|
|
||||||
- ${{ if and(le(parameters.publishingInfraVersion, 2), eq(parameters.inline, 'true')) }}:
|
|
||||||
- job:
|
|
||||||
displayName: Post-build Checks
|
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
variables:
|
|
||||||
- name: TargetChannels
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'] ]
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: Maestro Channels Consistency
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
|
|
||||||
arguments: -PromoteToChannels "$(TargetChannels)"
|
|
||||||
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.NetDev6ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}},${{parameters.VS166ChannelId}},${{parameters.VS167ChannelId}},${{parameters.VS168ChannelId}},${{parameters.VSMasterChannelId}},${{parameters.VS169ChannelId}},${{parameters.VS1610ChannelId}}
|
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
displayName: NuGet Validation
|
displayName: NuGet Validation
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
condition: eq( ${{ parameters.enableNugetValidation }}, 'true')
|
condition: eq( ${{ parameters.enableNugetValidation }}, 'true')
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'windows-2019'
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
variables:
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
- name: AzDOProjectName
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
demands: Cmd
|
||||||
- name: AzDOPipelineId
|
# If it's not devdiv, it's dnceng
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
- name: AzDOBuildId
|
name: NetCore1ESPool-Internal
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- template: setup-maestro-vars.yml
|
||||||
|
parameters:
|
||||||
|
BARBuildId: ${{ parameters.BARBuildId }}
|
||||||
|
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Package Artifacts
|
displayName: Download Package Artifacts
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -128,19 +129,22 @@ stages:
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
displayName: Signing Validation
|
displayName: Signing Validation
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
condition: and( eq( ${{ parameters.enableSigningValidation }}, 'true'), ne( variables['PostBuildSign'], 'true'))
|
condition: and( eq( ${{ parameters.enableSigningValidation }}, 'true'), ne( variables['PostBuildSign'], 'true'))
|
||||||
variables:
|
|
||||||
- template: common-variables.yml
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'windows-2019'
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
|
demands: Cmd
|
||||||
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
steps:
|
steps:
|
||||||
|
- template: setup-maestro-vars.yml
|
||||||
|
parameters:
|
||||||
|
BARBuildId: ${{ parameters.BARBuildId }}
|
||||||
|
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Package Artifacts
|
displayName: Download Package Artifacts
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -185,19 +189,22 @@ stages:
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
displayName: SourceLink Validation
|
displayName: SourceLink Validation
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
condition: eq( ${{ parameters.enableSourceLinkValidation }}, 'true')
|
condition: eq( ${{ parameters.enableSourceLinkValidation }}, 'true')
|
||||||
variables:
|
|
||||||
- template: common-variables.yml
|
|
||||||
- name: AzDOProjectName
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
|
|
||||||
- name: AzDOPipelineId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
|
||||||
- name: AzDOBuildId
|
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'windows-2019'
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
|
demands: Cmd
|
||||||
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
steps:
|
steps:
|
||||||
|
- template: setup-maestro-vars.yml
|
||||||
|
parameters:
|
||||||
|
BARBuildId: ${{ parameters.BARBuildId }}
|
||||||
|
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
||||||
|
|
||||||
- task: DownloadBuildArtifacts@0
|
- task: DownloadBuildArtifacts@0
|
||||||
displayName: Download Blob Artifacts
|
displayName: Download Blob Artifacts
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -223,367 +230,46 @@ stages:
|
||||||
- template: /eng/common/templates/job/execute-sdl.yml
|
- template: /eng/common/templates/job/execute-sdl.yml
|
||||||
parameters:
|
parameters:
|
||||||
enable: ${{ parameters.SDLValidationParameters.enable }}
|
enable: ${{ parameters.SDLValidationParameters.enable }}
|
||||||
dependsOn: setupMaestroVars
|
|
||||||
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 }}
|
downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }}
|
||||||
|
|
||||||
- ${{ if or(ge(parameters.publishingInfraVersion, 3), eq(parameters.inline, 'false')) }}:
|
- stage: publish_using_darc
|
||||||
- stage: publish_using_darc
|
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
|
||||||
${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
|
dependsOn: ${{ parameters.publishDependsOn }}
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
${{ if and(ne(parameters.enableNugetValidation, 'true'), ne(parameters.enableSigningValidation, 'true'), ne(parameters.enableSourceLinkValidation, 'true'), ne(parameters.SDLValidationParameters.enable, 'true')) }}:
|
||||||
${{ if and(ne(parameters.enableNugetValidation, 'true'), ne(parameters.enableSigningValidation, 'true'), ne(parameters.enableSourceLinkValidation, 'true'), ne(parameters.SDLValidationParameters.enable, 'true')) }}:
|
dependsOn: ${{ parameters.validateDependsOn }}
|
||||||
dependsOn: ${{ parameters.validateDependsOn }}
|
displayName: Publish using Darc
|
||||||
displayName: Publish using Darc
|
variables:
|
||||||
variables:
|
- template: common-variables.yml
|
||||||
- template: common-variables.yml
|
jobs:
|
||||||
jobs:
|
- job:
|
||||||
- template: setup-maestro-vars.yml
|
displayName: Publish Using Darc
|
||||||
parameters:
|
timeoutInMinutes: 120
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
pool:
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: VSEngSS-MicroBuild2022-1ES
|
||||||
|
demands: Cmd
|
||||||
|
# If it's not devdiv, it's dnceng
|
||||||
|
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
|
||||||
|
name: NetCore1ESPool-Internal
|
||||||
|
demands: ImageOverride -equals Build.Server.Amd64.VS2019
|
||||||
|
steps:
|
||||||
|
- template: setup-maestro-vars.yml
|
||||||
|
parameters:
|
||||||
|
BARBuildId: ${{ parameters.BARBuildId }}
|
||||||
|
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
||||||
|
|
||||||
- job:
|
- task: PowerShell@2
|
||||||
displayName: Publish Using Darc
|
displayName: Publish Using Darc
|
||||||
dependsOn: setupMaestroVars
|
inputs:
|
||||||
timeoutInMinutes: 120
|
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
||||||
variables:
|
arguments: -BuildId $(BARBuildId)
|
||||||
- name: BARBuildId
|
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
|
||||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
|
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
||||||
pool:
|
-MaestroToken '$(MaestroApiAccessToken)'
|
||||||
vmImage: 'windows-2019'
|
-WaitPublishingFinish true
|
||||||
steps:
|
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
|
||||||
- task: PowerShell@2
|
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
|
||||||
displayName: Publish Using Darc
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
|
|
||||||
arguments: -BuildId $(BARBuildId)
|
|
||||||
-PublishingInfraVersion ${{ parameters.PublishingInfraVersion }}
|
|
||||||
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
|
|
||||||
-MaestroToken '$(MaestroApiAccessToken)'
|
|
||||||
-WaitPublishingFinish ${{ parameters.waitPublishingFinish }}
|
|
||||||
-PublishInstallersAndChecksums ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
|
|
||||||
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
|
|
||||||
|
|
||||||
- ${{ if and(le(parameters.publishingInfraVersion, 2), eq(parameters.inline, 'true')) }}:
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NetCore_Dev5_Publish'
|
|
||||||
channelName: '.NET 5 Dev'
|
|
||||||
akaMSChannelName: 'net5/dev'
|
|
||||||
channelId: ${{ parameters.NetDev5ChannelId }}
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NetCore_Dev6_Publish'
|
|
||||||
channelName: '.NET 6 Dev'
|
|
||||||
akaMSChannelName: 'net6/dev'
|
|
||||||
channelId: ${{ parameters.NetDev6ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'Net_Eng_Latest_Publish'
|
|
||||||
channelName: '.NET Eng - Latest'
|
|
||||||
akaMSChannelName: 'eng/daily'
|
|
||||||
channelId: ${{ parameters.NetEngLatestChannelId }}
|
|
||||||
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'
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'Net_Eng_Validation_Publish'
|
|
||||||
channelName: '.NET Eng - Validation'
|
|
||||||
akaMSChannelName: 'eng/validation'
|
|
||||||
channelId: ${{ parameters.NetEngValidationChannelId }}
|
|
||||||
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'
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'General_Testing_Publish'
|
|
||||||
channelName: 'General Testing'
|
|
||||||
akaMSChannelName: 'generaltesting'
|
|
||||||
channelId: ${{ parameters.GeneralTestingChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/general-testing/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/general-testing/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/general-testing-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NETCore_Tooling_Dev_Publishing'
|
|
||||||
channelName: '.NET Core Tooling Dev'
|
|
||||||
channelId: ${{ parameters.NETCoreToolingDevChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NETCore_Tooling_Release_Publishing'
|
|
||||||
channelName: '.NET Core Tooling Release'
|
|
||||||
channelId: ${{ parameters.NETCoreToolingReleaseChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-internal-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NET_Internal_Tooling_Publishing'
|
|
||||||
channelName: '.NET Internal Tooling'
|
|
||||||
channelId: ${{ parameters.NETInternalToolingChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NETCore_Experimental_Publishing'
|
|
||||||
channelName: '.NET Core Experimental'
|
|
||||||
channelId: ${{ parameters.NETCoreExperimentalChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'Net_Eng_Services_Int_Publish'
|
|
||||||
channelName: '.NET Eng Services - Int'
|
|
||||||
channelId: ${{ parameters.NetEngServicesIntChannelId }}
|
|
||||||
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'
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'Net_Eng_Services_Prod_Publish'
|
|
||||||
channelName: '.NET Eng Services - Prod'
|
|
||||||
channelId: ${{ parameters.NetEngServicesProdChannelId }}
|
|
||||||
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'
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NETCore_SDK_314xx_Publishing'
|
|
||||||
channelName: '.NET Core SDK 3.1.4xx'
|
|
||||||
channelId: ${{ parameters.NetCoreSDK314xxChannelId }}
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'NETCore_SDK_314xx_Internal_Publishing'
|
|
||||||
channelName: '.NET Core SDK 3.1.4xx Internal'
|
|
||||||
channelId: ${{ parameters.NetCoreSDK314xxInternalChannelId }}
|
|
||||||
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'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
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:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
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'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS16_6_Publishing'
|
|
||||||
channelName: 'VS 16.6'
|
|
||||||
channelId: ${{ parameters.VS166ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS16_7_Publishing'
|
|
||||||
channelName: 'VS 16.7'
|
|
||||||
channelId: ${{ parameters.VS167ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS16_8_Publishing'
|
|
||||||
channelName: 'VS 16.8'
|
|
||||||
channelId: ${{ parameters.VS168ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS_Master_Publishing'
|
|
||||||
channelName: 'VS Master'
|
|
||||||
channelId: ${{ parameters.VSMasterChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS_16_9_Publishing'
|
|
||||||
channelName: 'VS 16.9'
|
|
||||||
channelId: ${{ parameters.VS169ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
||||||
|
|
||||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
|
||||||
parameters:
|
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
|
||||||
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
|
|
||||||
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
|
|
||||||
dependsOn: ${{ parameters.publishDependsOn }}
|
|
||||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
|
||||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
|
||||||
stageName: 'VS_16_10_Publishing'
|
|
||||||
channelName: 'VS 16.10'
|
|
||||||
channelId: ${{ parameters.VS1610ChannelId }}
|
|
||||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json'
|
|
||||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
|
|
||||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
|
|
|
@ -2,77 +2,69 @@ parameters:
|
||||||
BARBuildId: ''
|
BARBuildId: ''
|
||||||
PromoteToChannelIds: ''
|
PromoteToChannelIds: ''
|
||||||
|
|
||||||
jobs:
|
steps:
|
||||||
- job: setupMaestroVars
|
- ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}:
|
||||||
displayName: Setup Maestro Vars
|
- task: DownloadBuildArtifacts@0
|
||||||
variables:
|
displayName: Download Release Configs
|
||||||
- template: common-variables.yml
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
|
|
||||||
- ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}:
|
|
||||||
- task: DownloadBuildArtifacts@0
|
|
||||||
displayName: Download Release Configs
|
|
||||||
inputs:
|
|
||||||
buildType: current
|
|
||||||
artifactName: ReleaseConfigs
|
|
||||||
checkDownloadedFiles: true
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
name: setReleaseVars
|
|
||||||
displayName: Set Release Configs Vars
|
|
||||||
inputs:
|
inputs:
|
||||||
targetType: inline
|
buildType: current
|
||||||
script: |
|
artifactName: ReleaseConfigs
|
||||||
try {
|
checkDownloadedFiles: true
|
||||||
if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
|
|
||||||
$Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
|
|
||||||
|
|
||||||
$BarId = $Content | Select -Index 0
|
- task: PowerShell@2
|
||||||
$Channels = $Content | Select -Index 1
|
name: setReleaseVars
|
||||||
$IsStableBuild = $Content | Select -Index 2
|
displayName: Set Release Configs Vars
|
||||||
|
inputs:
|
||||||
|
targetType: inline
|
||||||
|
pwsh: true
|
||||||
|
script: |
|
||||||
|
try {
|
||||||
|
if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
|
||||||
|
$Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
|
||||||
|
|
||||||
$AzureDevOpsProject = $Env:System_TeamProject
|
$BarId = $Content | Select -Index 0
|
||||||
$AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
|
$Channels = $Content | Select -Index 1
|
||||||
$AzureDevOpsBuildId = $Env:Build_BuildId
|
$IsStableBuild = $Content | Select -Index 2
|
||||||
}
|
|
||||||
else {
|
|
||||||
$buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
|
|
||||||
|
|
||||||
$apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
|
$AzureDevOpsProject = $Env:System_TeamProject
|
||||||
$apiHeaders.Add('Accept', 'application/json')
|
$AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
|
||||||
$apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")
|
$AzureDevOpsBuildId = $Env:Build_BuildId
|
||||||
|
|
||||||
$buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
|
|
||||||
|
|
||||||
$BarId = $Env:BARBuildId
|
|
||||||
$Channels = $Env:PromoteToMaestroChannels -split ","
|
|
||||||
$Channels = $Channels -join "]["
|
|
||||||
$Channels = "[$Channels]"
|
|
||||||
|
|
||||||
$IsStableBuild = $buildInfo.stable
|
|
||||||
$AzureDevOpsProject = $buildInfo.azureDevOpsProject
|
|
||||||
$AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
|
|
||||||
$AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "##vso[task.setvariable variable=BARBuildId;isOutput=true]$BarId"
|
|
||||||
Write-Host "##vso[task.setvariable variable=TargetChannels;isOutput=true]$Channels"
|
|
||||||
Write-Host "##vso[task.setvariable variable=IsStableBuild;isOutput=true]$IsStableBuild"
|
|
||||||
|
|
||||||
Write-Host "##vso[task.setvariable variable=AzDOProjectName;isOutput=true]$AzureDevOpsProject"
|
|
||||||
Write-Host "##vso[task.setvariable variable=AzDOPipelineId;isOutput=true]$AzureDevOpsBuildDefinitionId"
|
|
||||||
Write-Host "##vso[task.setvariable variable=AzDOBuildId;isOutput=true]$AzureDevOpsBuildId"
|
|
||||||
}
|
}
|
||||||
catch {
|
else {
|
||||||
Write-Host $_
|
$buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
|
||||||
Write-Host $_.Exception
|
|
||||||
Write-Host $_.ScriptStackTrace
|
$apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
|
||||||
exit 1
|
$apiHeaders.Add('Accept', 'application/json')
|
||||||
|
$apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")
|
||||||
|
|
||||||
|
$buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
|
||||||
|
|
||||||
|
$BarId = $Env:BARBuildId
|
||||||
|
$Channels = $Env:PromoteToMaestroChannels -split ","
|
||||||
|
$Channels = $Channels -join "]["
|
||||||
|
$Channels = "[$Channels]"
|
||||||
|
|
||||||
|
$IsStableBuild = $buildInfo.stable
|
||||||
|
$AzureDevOpsProject = $buildInfo.azureDevOpsProject
|
||||||
|
$AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
|
||||||
|
$AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
|
||||||
}
|
}
|
||||||
env:
|
|
||||||
MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
|
Write-Host "##vso[task.setvariable variable=BARBuildId]$BarId"
|
||||||
BARBuildId: ${{ parameters.BARBuildId }}
|
Write-Host "##vso[task.setvariable variable=TargetChannels]$Channels"
|
||||||
PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}
|
Write-Host "##vso[task.setvariable variable=IsStableBuild]$IsStableBuild"
|
||||||
|
|
||||||
|
Write-Host "##vso[task.setvariable variable=AzDOProjectName]$AzureDevOpsProject"
|
||||||
|
Write-Host "##vso[task.setvariable variable=AzDOPipelineId]$AzureDevOpsBuildDefinitionId"
|
||||||
|
Write-Host "##vso[task.setvariable variable=AzDOBuildId]$AzureDevOpsBuildId"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host $_
|
||||||
|
Write-Host $_.Exception
|
||||||
|
Write-Host $_.ScriptStackTrace
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
env:
|
||||||
|
MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
|
||||||
|
BARBuildId: ${{ parameters.BARBuildId }}
|
||||||
|
PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}
|
||||||
|
|
32
eng/common/templates/steps/execute-codeql.yml
Normal file
32
eng/common/templates/steps/execute-codeql.yml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
parameters:
|
||||||
|
# Language that should be analyzed. Defaults to csharp
|
||||||
|
language: csharp
|
||||||
|
# Build Commands
|
||||||
|
buildCommands: ''
|
||||||
|
overrideParameters: '' # Optional: to override values for parameters.
|
||||||
|
additionalParameters: '' # Optional: parameters that need user specific values eg: '-SourceToolsList @("abc","def") -ArtifactToolsList @("ghi","jkl")'
|
||||||
|
# Optional: if specified, restore and use this version of Guardian instead of the default.
|
||||||
|
overrideGuardianVersion: ''
|
||||||
|
# Optional: if true, publish the '.gdn' folder as a pipeline artifact. This can help with in-depth
|
||||||
|
# diagnosis of problems with specific tool configurations.
|
||||||
|
publishGuardianDirectoryToPipeline: false
|
||||||
|
# The script to run to execute all SDL tools. Use this if you want to use a script to define SDL
|
||||||
|
# parameters rather than relying on YAML. It may be better to use a local script, because you can
|
||||||
|
# reproduce results locally without piecing together a command based on the YAML.
|
||||||
|
executeAllSdlToolsScript: 'eng/common/sdl/execute-all-sdl-tools.ps1'
|
||||||
|
# There is some sort of bug (has been reported) in Azure DevOps where if this parameter is named
|
||||||
|
# 'continueOnError', the parameter value is not correctly picked up.
|
||||||
|
# This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
|
||||||
|
# optional: determines whether to continue the build if the step errors;
|
||||||
|
sdlContinueOnError: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- template: /eng/common/templates/steps/execute-sdl.yml
|
||||||
|
parameters:
|
||||||
|
overrideGuardianVersion: ${{ parameters.overrideGuardianVersion }}
|
||||||
|
executeAllSdlToolsScript: ${{ parameters.executeAllSdlToolsScript }}
|
||||||
|
overrideParameters: ${{ parameters.overrideParameters }}
|
||||||
|
additionalParameters: '${{ parameters.additionalParameters }}
|
||||||
|
-CodeQLAdditionalRunConfigParams @("BuildCommands < ${{ parameters.buildCommands }}", "Language < ${{ parameters.language }}")'
|
||||||
|
publishGuardianDirectoryToPipeline: ${{ parameters.publishGuardianDirectoryToPipeline }}
|
||||||
|
sdlContinueOnError: ${{ parameters.sdlContinueOnError }}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"tools": {
|
"tools": {
|
||||||
"dotnet": "6.0.100",
|
"dotnet": "6.0.101",
|
||||||
"runtimes": {
|
"runtimes": {
|
||||||
"dotnet": [
|
"dotnet": [
|
||||||
"$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
|
"$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)"
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
"cmake": "3.16.4"
|
"cmake": "3.16.4"
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21609.4",
|
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.22102.3",
|
||||||
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.21609.4"
|
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.22102.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue