diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index d6f01295d522f..97cfdefb85364 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -46,61 +46,61 @@
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
-
+
https://github.com/dotnet/arcade
- e06e2807048b6bc7b3549b401a1833bed3bcd8c3
+ 8466781af43871ee0d4a1655acc008a305a62c0e
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
@@ -122,41 +122,41 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
d0bb63d2ec7060714e63ee4082fac48f2e57f3e2
-
+
https://github.com/microsoft/vstest
- 51a2b03cadbcf0753d7be5b0e42f69828250280f
+ 064dcc108f90955b756a77d0bdaf638dcd8eed21
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
-
+
https://github.com/dotnet/runtime-assets
- 4e8d82a2bdc31db2a3d392b4021b0c9ab19a4228
+ bb1d9660e3adf9acb81a229c91a8de9d25a020e1
diff --git a/eng/Versions.props b/eng/Versions.props
index f8489a8589afc..a92ae567fe40d 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -60,16 +60,16 @@
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 2.5.1-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
- 5.0.0-beta.20071.3
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 2.5.1-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
+ 5.0.0-beta.20079.8
5.0.0-alpha.1.20071.1
5.0.0-alpha.1.19563.6
@@ -84,14 +84,14 @@
5.0.0-alpha.1.19563.6
5.0.0-alpha.1.19563.3
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
- 5.0.0-beta.19610.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
+ 5.0.0-beta.20072.1
2.2.0-prerelease.19564.1
@@ -116,7 +116,7 @@
4.4.0
- 16.5.0-preview-20200120-01
+ 16.5.0-preview-20200130-01
2.4.1
2.0.5
12.0.3
diff --git a/eng/common/darc-init.ps1 b/eng/common/darc-init.ps1
index fc2190365f3e8..2a30ccfd7463b 100644
--- a/eng/common/darc-init.ps1
+++ b/eng/common/darc-init.ps1
@@ -24,13 +24,15 @@ function InstallDarcCli ($darcVersion) {
$darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content
}
- $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
+ $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json'
Write-Host "Installing Darc CLI version $darcVersion..."
Write-Host 'You may need to restart your command window if this is the first dotnet tool you have installed.'
if (-not $toolpath) {
+ Write-Host "'$dotnet' tool install $darcCliPackageName --version $darcVersion --add-source '$arcadeServicesSource' -v $verbosity -g"
& "$dotnet" tool install $darcCliPackageName --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity -g
}else {
+ Write-Host "'$dotnet' tool install $darcCliPackageName --version $darcVersion --add-source '$arcadeServicesSource' -v $verbosity -g --tool-path '$toolpath'"
& "$dotnet" tool install $darcCliPackageName --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath"
}
}
diff --git a/eng/common/enable-cross-org-publishing.ps1 b/eng/common/enable-cross-org-publishing.ps1
index efa26621db04b..da09da4f1fc44 100644
--- a/eng/common/enable-cross-org-publishing.ps1
+++ b/eng/common/enable-cross-org-publishing.ps1
@@ -2,7 +2,12 @@ param(
[string] $token
)
+
. $PSScriptRoot\pipeline-logging-functions.ps1
-Write-PipelineSetVariable -Name 'VSS_NUGET_ACCESSTOKEN' -Value $token
-Write-PipelineSetVariable -Name 'VSS_NUGET_URI_PREFIXES' -Value 'https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/'
+# Write-PipelineSetVariable will no-op if a variable named $ci is not defined
+# Since this script is only ever called in AzDO builds, just universally set it
+$ci = $true
+
+Write-PipelineSetVariable -Name 'VSS_NUGET_ACCESSTOKEN' -Value $token -IsMultiJobVariable $false
+Write-PipelineSetVariable -Name 'VSS_NUGET_URI_PREFIXES' -Value 'https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/' -IsMultiJobVariable $false
diff --git a/eng/common/generate-graph-files.ps1 b/eng/common/generate-graph-files.ps1
index 7ad26afa692e0..0728b1a8b570d 100644
--- a/eng/common/generate-graph-files.ps1
+++ b/eng/common/generate-graph-files.ps1
@@ -3,7 +3,7 @@ Param(
[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 = '1.1.0-beta.19175.6', # darc's version
+ [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
diff --git a/eng/common/performance/performance-setup.ps1 b/eng/common/performance/performance-setup.ps1
index f6e878297dbbd..3c2adf8c737ef 100644
--- a/eng/common/performance/performance-setup.ps1
+++ b/eng/common/performance/performance-setup.ps1
@@ -9,7 +9,7 @@ Param(
[string] $Branch=$env:BUILD_SOURCEBRANCH,
[string] $CommitSha=$env:BUILD_SOURCEVERSION,
[string] $BuildNumber=$env:BUILD_BUILDNUMBER,
- [string] $RunCategories="coreclr corefx",
+ [string] $RunCategories="Libraries Runtime",
[string] $Csproj="src\benchmarks\micro\MicroBenchmarks.csproj",
[string] $Kind="micro",
[switch] $Internal,
diff --git a/eng/common/performance/performance-setup.sh b/eng/common/performance/performance-setup.sh
index 7ef15514e525c..604aebffcae61 100755
--- a/eng/common/performance/performance-setup.sh
+++ b/eng/common/performance/performance-setup.sh
@@ -13,7 +13,7 @@ build_number=$BUILD_BUILDNUMBER
internal=false
compare=false
kind="micro"
-run_categories="coreclr corefx"
+run_categories="Libraries Runtime"
csproj="src\benchmarks\micro\MicroBenchmarks.csproj"
configurations=
run_from_perf_repo=false
diff --git a/eng/common/post-build/promote-build.ps1 b/eng/common/post-build/add-build-to-channel.ps1
similarity index 95%
rename from eng/common/post-build/promote-build.ps1
rename to eng/common/post-build/add-build-to-channel.ps1
index ce45635fbd225..de2d957922a65 100644
--- a/eng/common/post-build/promote-build.ps1
+++ b/eng/common/post-build/add-build-to-channel.ps1
@@ -17,7 +17,7 @@ try {
ExitWithExitCode 1
}
- # Get info about which channels the build has already been promoted to
+ # Get info about which channel(s) the build has already been promoted to
$buildInfo = Get-MaestroBuild -BuildId $BuildId
if (!$buildInfo) {
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
index 2973bcaf3a4ae..640f2b04e240f 100644
--- a/eng/common/templates/job/execute-sdl.yml
+++ b/eng/common/templates/job/execute-sdl.yml
@@ -1,4 +1,5 @@
parameters:
+ enable: 'false' # Whether the SDL validation job should execute or not
overrideParameters: '' # Optional: to override values for parameters.
additionalParameters: '' # Optional: parameters that need user specific values eg: '-SourceToolsList @("abc","def") -ArtifactToolsList @("ghi","jkl")'
# There is some sort of bug (has been reported) in Azure DevOps where if this parameter is named
@@ -16,8 +17,15 @@ jobs:
- job: Run_SDL
dependsOn: ${{ parameters.dependsOn }}
displayName: Run SDL tool
+ condition: eq( ${{ parameters.enable }}, 'true')
variables:
- group: DotNet-VSTS-Bot
+ - 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:
name: Hosted VS2017
steps:
@@ -28,14 +36,22 @@ jobs:
- task: DownloadBuildArtifacts@0
displayName: Download Build Artifacts
inputs:
- buildType: current
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
artifactName: ${{ artifactName }}
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
- ${{ if eq(parameters.artifactNames, '') }}:
- task: DownloadBuildArtifacts@0
displayName: Download Build Artifacts
inputs:
- buildType: current
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
downloadType: specific files
itemPattern: "**"
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
diff --git a/eng/common/templates/post-build/channels/generic-internal-channel.yml b/eng/common/templates/post-build/channels/generic-internal-channel.yml
index 700211049b5b7..29d8d46ee2184 100644
--- a/eng/common/templates/post-build/channels/generic-internal-channel.yml
+++ b/eng/common/templates/post-build/channels/generic-internal-channel.yml
@@ -23,9 +23,15 @@ stages:
- job: publish_symbols
displayName: Symbol Publishing
dependsOn: setupMaestroVars
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} ))
+ condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ 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:
@@ -33,7 +39,11 @@ stages:
displayName: Download Build Assets
continueOnError: true
inputs:
- buildType: 'current'
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
downloadType: 'specific'
itemPattern: |
PDBArtifacts/**
@@ -79,7 +89,13 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }}))
+ - 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: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
pool:
vmImage: 'windows-2019'
steps:
@@ -87,7 +103,11 @@ stages:
displayName: Download Build Assets
continueOnError: true
inputs:
- buildType: 'current'
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
downloadType: 'specific'
itemPattern: |
PackageArtifacts/**
@@ -146,6 +166,6 @@ stages:
StageLabel: '${{ parameters.stageName }}'
JobLabel: 'AssetsPublishing'
- - template: ../../steps/promote-build.yml
+ - template: ../../steps/add-build-to-channel.yml
parameters:
ChannelId: ${{ parameters.channelId }}
diff --git a/eng/common/templates/post-build/channels/generic-public-channel.yml b/eng/common/templates/post-build/channels/generic-public-channel.yml
index fbb5a19b67768..883e033c80236 100644
--- a/eng/common/templates/post-build/channels/generic-public-channel.yml
+++ b/eng/common/templates/post-build/channels/generic-public-channel.yml
@@ -23,9 +23,15 @@ stages:
- job: publish_symbols
displayName: Symbol Publishing
dependsOn: setupMaestroVars
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} ))
+ condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ 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:
@@ -33,7 +39,11 @@ stages:
displayName: Download Build Assets
continueOnError: true
inputs:
- buildType: 'current'
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
downloadType: 'specific'
itemPattern: |
PDBArtifacts/**
@@ -78,7 +88,13 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }}))
+ - 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: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
pool:
vmImage: 'windows-2019'
steps:
@@ -86,7 +102,11 @@ stages:
displayName: Download Build Assets
continueOnError: true
inputs:
- buildType: 'current'
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
downloadType: 'specific'
itemPattern: |
PackageArtifacts/**
@@ -145,6 +165,6 @@ stages:
StageLabel: '${{ parameters.stageName }}'
JobLabel: 'AssetsPublishing'
- - template: ../../steps/promote-build.yml
+ - template: ../../steps/add-build-to-channel.yml
parameters:
ChannelId: ${{ parameters.channelId }}
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index 8a8d84f202652..70cb65f50b48b 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -26,97 +26,136 @@ stages:
- stage: Validate
dependsOn: ${{ parameters.validateDependsOn }}
displayName: Validate
+ variables:
+ - template: common-variables.yml
jobs:
- - ${{ if eq(parameters.enableNugetValidation, 'true') }}:
- - job:
- displayName: NuGet Validation
- pool:
- vmImage: 'windows-2019'
- steps:
- - task: DownloadBuildArtifacts@0
- displayName: Download Package Artifacts
- inputs:
- buildType: current
- artifactName: PackageArtifacts
-
- - task: PowerShell@2
- displayName: Validate
- inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1
- arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
- -ToolDestinationPath $(Agent.BuildDirectory)/Extract/
-
- - ${{ if eq(parameters.enableSigningValidation, 'true') }}:
- - job:
- displayName: Signing Validation
- variables:
- - template: common-variables.yml
- pool:
- vmImage: 'windows-2019'
- steps:
- - task: DownloadBuildArtifacts@0
- displayName: Download Package Artifacts
- inputs:
- buildType: current
- artifactName: PackageArtifacts
-
- # 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: Validate
- inputs:
- filePath: eng\common\sdk-task.ps1
- arguments: -task SigningValidation -restore -msbuildEngine dotnet
- /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
- /p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
- ${{ parameters.signingValidationAdditionalParameters }}
-
- - template: ../steps/publish-logs.yml
- parameters:
- StageLabel: 'Validation'
- JobLabel: 'Signing'
-
- - ${{ if eq(parameters.enableSourceLinkValidation, 'true') }}:
- - job:
- displayName: SourceLink Validation
- variables:
- - template: common-variables.yml
- pool:
- vmImage: 'windows-2019'
- steps:
- - task: DownloadBuildArtifacts@0
- displayName: Download Blob Artifacts
- inputs:
- buildType: current
- artifactName: BlobArtifacts
-
- - task: PowerShell@2
- displayName: Validate
- inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1
- arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
- -ExtractPath $(Agent.BuildDirectory)/Extract/
- -GHRepoName $(Build.Repository.Name)
- -GHCommit $(Build.SourceVersion)
- -SourcelinkCliVersion $(SourceLinkCLIVersion)
- continueOnError: true
-
- - ${{ if eq(parameters.SDLValidationParameters.enable, 'true') }}:
- - template: /eng/common/templates/job/execute-sdl.yml
- parameters:
- additionalParameters: ${{ parameters.SDLValidationParameters.params }}
- continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }}
- artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }}
+ - template: setup-maestro-vars.yml
+
+ - job:
+ displayName: NuGet Validation
+ dependsOn: setupMaestroVars
+ condition: eq( ${{ parameters.enableNugetValidation }}, 'true')
+ pool:
+ vmImage: 'windows-2019'
+ variables:
+ - name: AzDOProjectName
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOProjectName'] ]
+ - name: AzDOPipelineId
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
+ - name: AzDOBuildId
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1
+ arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
+ -ToolDestinationPath $(Agent.BuildDirectory)/Extract/
+
+ - job:
+ displayName: Signing Validation
+ dependsOn: setupMaestroVars
+ condition: eq( ${{ parameters.enableSigningValidation }}, '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:
+ vmImage: 'windows-2019'
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+
+ # 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: Validate
+ inputs:
+ filePath: eng\common\sdk-task.ps1
+ arguments: -task SigningValidation -restore -msbuildEngine dotnet
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
+ /p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
+ ${{ parameters.signingValidationAdditionalParameters }}
+
+ - template: ../steps/publish-logs.yml
+ parameters:
+ StageLabel: 'Validation'
+ JobLabel: 'Signing'
+
+ - job:
+ displayName: SourceLink Validation
+ dependsOn: setupMaestroVars
+ 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:
+ vmImage: 'windows-2019'
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Blob Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: BlobArtifacts
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1
+ arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
+ -ExtractPath $(Agent.BuildDirectory)/Extract/
+ -GHRepoName $(Build.Repository.Name)
+ -GHCommit $(Build.SourceVersion)
+ -SourcelinkCliVersion $(SourceLinkCLIVersion)
+ continueOnError: true
+
+ - template: /eng/common/templates/job/execute-sdl.yml
+ parameters:
+ enable: ${{ parameters.SDLValidationParameters.enable }}
+ dependsOn: setupMaestroVars
+ additionalParameters: ${{ parameters.SDLValidationParameters.params }}
+ continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }}
+ artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }}
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
parameters:
@@ -221,3 +260,29 @@ stages:
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:
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ dependsOn: ${{ parameters.publishDependsOn }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+ symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
+ stageName: 'Net_Eng_Services_Int_Publish'
+ channelName: '.NET Eng Services - Int'
+ channelId: 678
+ 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:
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ dependsOn: ${{ parameters.publishDependsOn }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+ symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
+ stageName: 'Net_Eng_Services_Prod_Publish'
+ channelName: '.NET Eng Services - Prod'
+ channelId: 679
+ 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'
diff --git a/eng/common/templates/post-build/promote-build.yml b/eng/common/templates/post-build/promote-build.yml
deleted file mode 100644
index 6b479c3b82a89..0000000000000
--- a/eng/common/templates/post-build/promote-build.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-parameters:
- ChannelId: 0
-
-jobs:
-- job:
- displayName: Promote Build
- dependsOn: setupMaestroVars
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.ChannelId }}))
- variables:
- - name: BARBuildId
- value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- - name: ChannelId
- value: ${{ parameters.ChannelId }}
- pool:
- vmImage: 'windows-2019'
- steps:
- - task: PowerShell@2
- displayName: Add Build to Channel
- inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/promote-build.ps1
- arguments: -BuildId $(BARBuildId)
- -ChannelId $(ChannelId)
- -MaestroApiAccessToken $(MaestroApiAccessToken)
- -MaestroApiEndPoint $(MaestroApiEndPoint)
- -MaestroApiVersion $(MaestroApiVersion)
diff --git a/eng/common/templates/post-build/setup-maestro-vars.yml b/eng/common/templates/post-build/setup-maestro-vars.yml
index 716b53f740537..05e611edb68a2 100644
--- a/eng/common/templates/post-build/setup-maestro-vars.yml
+++ b/eng/common/templates/post-build/setup-maestro-vars.yml
@@ -1,6 +1,12 @@
jobs:
- job: setupMaestroVars
displayName: Setup Maestro Vars
+ variables:
+ - template: common-variables.yml
+ - name: BuildId
+ value: $[ coalesce(variables.BARBuildId, 0) ]
+ - name: PromoteToChannelId
+ value: $[ coalesce(variables.PromoteToMaestroChannelId, 0) ]
pool:
vmImage: 'windows-2019'
steps:
@@ -8,6 +14,7 @@ jobs:
- task: DownloadBuildArtifacts@0
displayName: Download Release Configs
+ condition: eq(variables.PromoteToChannelId, 0)
inputs:
buildType: current
artifactName: ReleaseConfigs
@@ -19,18 +26,50 @@ jobs:
targetType: inline
script: |
try {
- $Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
+ if ($Env:PromoteToChannelId -eq 0) {
+ $Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
- $BarId = $Content | Select -Index 0
+ $BarId = $Content | Select -Index 0
- $Channels = ""
- $Content | Select -Index 1 | ForEach-Object { $Channels += "$_ ," }
+ $Channels = ""
+ $Content | Select -Index 1 | ForEach-Object { $Channels += "$_ ," }
+
+ $IsStableBuild = $Content | Select -Index 2
- $IsStableBuild = $Content | Select -Index 2
+ $AzureDevOpsProject = $Env:System_TeamProject
+ $AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
+ $AzureDevOpsBuildId = $Env:Build_BuildId
+ $PromoteToMaestroChannelId = 0
+ }
+ else {
+ $buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
+
+ $apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
+ $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 = 'None'
+
+ #TODO: Fix this once this issue is done: https://github.com/dotnet/arcade/issues/3834
+ $IsStableBuild = 'False'
+
+ $AzureDevOpsProject = $buildInfo.azureDevOpsProject
+ $AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
+ $AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
+ $PromoteToMaestroChannelId = $Env:PromoteToMaestroChannelId
+ }
Write-Host "##vso[task.setvariable variable=BARBuildId;isOutput=true]$BarId"
Write-Host "##vso[task.setvariable variable=InitialChannels;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"
+ Write-Host "##vso[task.setvariable variable=PromoteToMaestroChannelId;isOutput=true]$PromoteToMaestroChannelId"
}
catch {
Write-Host $_
@@ -38,3 +77,5 @@ jobs:
Write-Host $_.ScriptStackTrace
exit 1
}
+ env:
+ MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
diff --git a/eng/common/templates/steps/promote-build.yml b/eng/common/templates/steps/add-build-to-channel.yml
similarity index 68%
rename from eng/common/templates/steps/promote-build.yml
rename to eng/common/templates/steps/add-build-to-channel.yml
index b90404435dd79..f67a210d62f3e 100644
--- a/eng/common/templates/steps/promote-build.yml
+++ b/eng/common/templates/steps/add-build-to-channel.yml
@@ -5,9 +5,9 @@ steps:
- task: PowerShell@2
displayName: Add Build to Channel
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/promote-build.ps1
+ filePath: $(Build.SourcesDirectory)/eng/common/post-build/add-build-to-channel.ps1
arguments: -BuildId $(BARBuildId)
-ChannelId ${{ parameters.ChannelId }}
-MaestroApiAccessToken $(MaestroApiAccessToken)
-MaestroApiEndPoint $(MaestroApiEndPoint)
- -MaestroApiVersion $(MaestroApiVersion)
+ -MaestroApiVersion $(MaestroApiVersion)
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index d3a432878e216..23a3fd53d7a52 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -655,6 +655,9 @@ Write-PipelineSetVariable -Name 'Artifacts.Log' -Value $LogDir
Write-PipelineSetVariable -Name 'TEMP' -Value $TempDir
Write-PipelineSetVariable -Name 'TMP' -Value $TempDir
+$env:TEMP=$TempDir
+$env:TMP=$TempDir
+
# Import custom tools configuration, if present in the repo.
# Note: Import in global scope so that the script set top-level variables without qualification.
if (!$disableConfigureToolsetImport) {
diff --git a/global.json b/global.json
index 26b46940658b4..a3e219e8d9040 100644
--- a/global.json
+++ b/global.json
@@ -12,10 +12,10 @@
"python": "2.7.15"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20071.3",
- "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20071.3",
- "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20071.3",
- "Microsoft.DotNet.Build.Tasks.Configuration": "5.0.0-beta.20071.3",
+ "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20079.8",
+ "Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk": "5.0.0-beta.20079.8",
+ "Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20079.8",
+ "Microsoft.DotNet.Build.Tasks.Configuration": "5.0.0-beta.20079.8",
"FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0",
"Microsoft.NET.Sdk.IL": "5.0.0-alpha.1.20076.2",
"Microsoft.Build.NoTargets": "1.0.53",
diff --git a/src/libraries/System.ComponentModel.Composition.Registration/tests/System/ComponentModel/Composition/Registration/RegistrationBuilderAttributedOverrideUnitTests.cs b/src/libraries/System.ComponentModel.Composition.Registration/tests/System/ComponentModel/Composition/Registration/RegistrationBuilderAttributedOverrideUnitTests.cs
index 7144f04d5ff0e..96cd33d298a41 100644
--- a/src/libraries/System.ComponentModel.Composition.Registration/tests/System/ComponentModel/Composition/Registration/RegistrationBuilderAttributedOverrideUnitTests.cs
+++ b/src/libraries/System.ComponentModel.Composition.Registration/tests/System/ComponentModel/Composition/Registration/RegistrationBuilderAttributedOverrideUnitTests.cs
@@ -8,7 +8,6 @@
using System.Reflection;
using Xunit;
using Xunit.Sdk;
-using Microsoft.DotNet.XUnitExtensions.Attributes;
namespace System.ComponentModel.Composition.Registration.Tests
{
diff --git a/src/libraries/System.Data.SqlClient/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Data.SqlClient/tests/FunctionalTests/AssemblyInfo.cs
index 04cc84c580686..0d7eda9ff9c4b 100644
--- a/src/libraries/System.Data.SqlClient/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Data.SqlClient/tests/FunctionalTests/AssemblyInfo.cs
@@ -3,7 +3,6 @@
// See the LICENSE file in the project root for more information.
using Xunit;
-using Microsoft.DotNet.XUnitExtensions.Attributes;
[assembly: SkipOnCoreClr("Timeout in stress tests on Linux/arm32", TestPlatforms.Linux)]
[assembly: SkipOnMono("Timeout in stress tests on Linux/arm32", TestPlatforms.Linux)]
diff --git a/src/libraries/System.IO.FileSystem/src/System/IO/Iterator.cs b/src/libraries/System.IO.FileSystem/src/System/IO/Iterator.cs
index 6db7689018880..db7d74f1a5351 100644
--- a/src/libraries/System.IO.FileSystem/src/System/IO/Iterator.cs
+++ b/src/libraries/System.IO.FileSystem/src/System/IO/Iterator.cs
@@ -25,7 +25,7 @@ public Iterator()
public TSource Current
{
- get { return current; }
+ get { return current!; }
}
protected abstract Iterator Clone();
diff --git a/src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/HoistedLocals.cs b/src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/HoistedLocals.cs
index 3b7783ddc3db5..ec62cbe537381 100644
--- a/src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/HoistedLocals.cs
+++ b/src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/HoistedLocals.cs
@@ -81,7 +81,7 @@ internal HoistedLocals(HoistedLocals? parent, ReadOnlyCollection)locals[0]).Value;
+ return ((StrongBox