Update dependencies from https://github.com/dotnet/arcade build 20190825.1 (#13447)

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19425.1
- Microsoft.DotNet.GenAPI - 1.0.0-beta.19425.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19425.1
This commit is contained in:
dotnet-maestro[bot] 2019-08-26 17:18:40 +00:00 committed by GitHub
parent efa30e25f2
commit 5496f70471
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 184 additions and 41 deletions

View File

@ -412,17 +412,17 @@
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>7b25c1d7535ea9d25a7998ab27ca18fd8d97c34c</Sha> <Sha>7b25c1d7535ea9d25a7998ab27ca18fd8d97c34c</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19416.16"> <Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19425.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>0e36c2410b72166a1b9a67142e652225e22feada</Sha> <Sha>2de3acc671fc624191672a45564f9ef130af5cd4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19416.16"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19425.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>0e36c2410b72166a1b9a67142e652225e22feada</Sha> <Sha>2de3acc671fc624191672a45564f9ef130af5cd4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19416.16"> <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19425.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>0e36c2410b72166a1b9a67142e652225e22feada</Sha> <Sha>2de3acc671fc624191672a45564f9ef130af5cd4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-rc1.19424.3" CoherentParentDependency="Microsoft.EntityFrameworkCore"> <Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-rc1.19424.3" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri> <Uri>https://github.com/aspnet/Extensions</Uri>

View File

@ -53,7 +53,7 @@
--> -->
<PropertyGroup Label="Automated"> <PropertyGroup Label="Automated">
<!-- Packages from dotnet/arcade --> <!-- Packages from dotnet/arcade -->
<MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19416.16</MicrosoftDotNetGenAPIPackageVersion> <MicrosoftDotNetGenAPIPackageVersion>1.0.0-beta.19425.1</MicrosoftDotNetGenAPIPackageVersion>
<!-- Packages from dotnet/roslyn --> <!-- Packages from dotnet/roslyn -->
<MicrosoftNetCompilersToolsetPackageVersion>3.3.1-beta3-19423-01</MicrosoftNetCompilersToolsetPackageVersion> <MicrosoftNetCompilersToolsetPackageVersion>3.3.1-beta3-19423-01</MicrosoftNetCompilersToolsetPackageVersion>
<!-- Packages from dotnet/core-setup --> <!-- Packages from dotnet/core-setup -->

View File

@ -5,8 +5,14 @@
<CliArguments>--dotnet-versions %DOTNET_VERSION% --cli-source-info args --cli-branch %PERFLAB_BRANCH% --cli-commit-sha %PERFLAB_HASH% --cli-repository https://github.com/%PERFLAB_REPO% --cli-source-timestamp %PERFLAB_BUILDTIMESTAMP%</CliArguments> <CliArguments>--dotnet-versions %DOTNET_VERSION% --cli-source-info args --cli-branch %PERFLAB_BRANCH% --cli-commit-sha %PERFLAB_HASH% --cli-repository https://github.com/%PERFLAB_REPO% --cli-source-timestamp %PERFLAB_BUILDTIMESTAMP%</CliArguments>
<Python>py -3</Python> <Python>py -3</Python>
<CoreRun>%HELIX_CORRELATION_PAYLOAD%\Core_Root\CoreRun.exe</CoreRun> <CoreRun>%HELIX_CORRELATION_PAYLOAD%\Core_Root\CoreRun.exe</CoreRun>
<BaselineCoreRun>%HELIX_CORRELATION_PAYLOAD%\Baseline_Core_Root\CoreRun.exe</BaselineCoreRun>
<HelixPreCommands>$(HelixPreCommands);call %HELIX_CORRELATION_PAYLOAD%\performance\tools\machine-setup.cmd</HelixPreCommands> <HelixPreCommands>$(HelixPreCommands);call %HELIX_CORRELATION_PAYLOAD%\performance\tools\machine-setup.cmd</HelixPreCommands>
<ArtifactsDirectory>%HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts</ArtifactsDirectory> <ArtifactsDirectory>%HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts</ArtifactsDirectory>
<BaselineArtifactsDirectory>%HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts_Baseline</BaselineArtifactsDirectory>
<ResultsComparer>%HELIX_CORRELATION_PAYLOAD%\performance\src\tools\ResultsComparer\ResultsComparer.csproj</ResultsComparer>
<DotnetExe>%HELIX_CORRELATION_PAYLOAD%\performance\tools\dotnet\$(Architecture)\dotnet.exe</DotnetExe>
<Percent>%25%25</Percent>
<XMLResults>%HELIX_WORKITEM_ROOT%\testResults.xml</XMLResults>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT' and '$(RunFromPerfRepo)' == 'false'"> <PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT' and '$(RunFromPerfRepo)' == 'false'">
@ -24,14 +30,24 @@
<CliArguments>--dotnet-versions $DOTNET_VERSION --cli-source-info args --cli-branch $PERFLAB_BRANCH --cli-commit-sha $PERFLAB_HASH --cli-repository https://github.com/$PERFLAB_REPO --cli-source-timestamp $PERFLAB_BUILDTIMESTAMP</CliArguments> <CliArguments>--dotnet-versions $DOTNET_VERSION --cli-source-info args --cli-branch $PERFLAB_BRANCH --cli-commit-sha $PERFLAB_HASH --cli-repository https://github.com/$PERFLAB_REPO --cli-source-timestamp $PERFLAB_BUILDTIMESTAMP</CliArguments>
<Python>python3</Python> <Python>python3</Python>
<CoreRun>$(BaseDirectory)/Core_Root/corerun</CoreRun> <CoreRun>$(BaseDirectory)/Core_Root/corerun</CoreRun>
<BaselineCoreRun>$(BaseDirectory)/Baseline_Core_Root/corerun</BaselineCoreRun>
<HelixPreCommands>$(HelixPreCommands);chmod +x $(PerformanceDirectory)/tools/machine-setup.sh;. $(PerformanceDirectory)/tools/machine-setup.sh</HelixPreCommands> <HelixPreCommands>$(HelixPreCommands);chmod +x $(PerformanceDirectory)/tools/machine-setup.sh;. $(PerformanceDirectory)/tools/machine-setup.sh</HelixPreCommands>
<ArtifactsDirectory>$(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts</ArtifactsDirectory> <ArtifactsDirectory>$(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts</ArtifactsDirectory>
<BaselineArtifactsDirectory>$(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts_Baseline</BaselineArtifactsDirectory>
<ResultsComparer>$(PerformanceDirectory)/src/tools/ResultsComparer/ResultsComparer.csproj</ResultsComparer>
<DotnetExe>$(PerformanceDirectory)/tools/dotnet/$(Architecture)/dotnet</DotnetExe>
<Percent>%25</Percent>
<XMLResults>$HELIX_WORKITEM_ROOT/testResults.xml</XMLResults>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(UseCoreRun)' == 'true'"> <PropertyGroup Condition="'$(UseCoreRun)' == 'true'">
<CoreRunArgument>--corerun $(CoreRun)</CoreRunArgument> <CoreRunArgument>--corerun $(CoreRun)</CoreRunArgument>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(UseBaselineCoreRun)' == 'true'">
<BaselineCoreRunArgument>--corerun $(BaselineCoreRun)</BaselineCoreRunArgument>
</PropertyGroup>
<PropertyGroup Condition="'$(WorkItemCommand)' != ''"> <PropertyGroup Condition="'$(WorkItemCommand)' != ''">
<WorkItemCommand>$(Python) $(WorkItemCommand) --incremental no --architecture $(Architecture) -f $(_Framework) $(PerfLabArguments)</WorkItemCommand> <WorkItemCommand>$(Python) $(WorkItemCommand) --incremental no --architecture $(Architecture) -f $(_Framework) $(PerfLabArguments)</WorkItemCommand>
</PropertyGroup> </PropertyGroup>
@ -57,20 +73,29 @@
<Partition Include="$(BuildConfig).Partition4" Index="4" /> <Partition Include="$(BuildConfig).Partition4" Index="4" />
</ItemGroup> </ItemGroup>
<PropertyGroup Condition="'$(Compare)' == 'true'">
<FailOnTestFailure>false</FailOnTestFailure>
</PropertyGroup>
<!-- <!--
Partition the Microbenchmarks project, but nothing else Partition the Microbenchmarks project, but nothing else
--> -->
<ItemGroup Condition="$(TargetCsproj.Contains('MicroBenchmarks.csproj'))"> <ItemGroup Condition="$(TargetCsproj.Contains('MicroBenchmarks.csproj'))">
<HelixWorkItem Include="@(Partition)"> <HelixWorkItem Include="@(Partition)">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory> <PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --artifacts $(BaselineArtifactsDirectory) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</PreCommands>
<Command>$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --artifacts $(ArtifactsDirectory) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</Command> <Command>$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --artifacts $(ArtifactsDirectory) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"</Command>
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults);$(FinalCommand)</PostCommands>
<Timeout>4:00</Timeout> <Timeout>4:00</Timeout>
</HelixWorkItem> </HelixWorkItem>
</ItemGroup> </ItemGroup>
<ItemGroup Condition="!$(TargetCsproj.Contains('MicroBenchmarks.csproj'))"> <ItemGroup Condition="!$(TargetCsproj.Contains('MicroBenchmarks.csproj'))">
<HelixWorkItem Include="$(BuildConfig).WorkItem"> <HelixWorkItem Include="$(BuildConfig).WorkItem">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory> <PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<PreCommands Condition="'$(Compare)' == 'true'">$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --artifacts $(ArtifactsDirectory)"</PreCommands>
<Command>$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --artifacts $(ArtifactsDirectory)"</Command> <Command>$(WorkItemCommand) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --artifacts $(ArtifactsDirectory)"</Command>
<PostCommands Condition="'$(Compare)' == 'true'">$(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults)</PostCommands>
<Timeout>4:00</Timeout> <Timeout>4:00</Timeout>
</HelixWorkItem> </HelixWorkItem>
</ItemGroup> </ItemGroup>

View File

@ -1,6 +1,7 @@
Param( Param(
[string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY, [string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY,
[string] $CoreRootDirectory, [string] $CoreRootDirectory,
[string] $BaselineCoreRootDirectory,
[string] $Architecture="x64", [string] $Architecture="x64",
[string] $Framework="netcoreapp5.0", [string] $Framework="netcoreapp5.0",
[string] $CompilationMode="Tiered", [string] $CompilationMode="Tiered",
@ -12,11 +13,13 @@ Param(
[string] $Csproj="src\benchmarks\micro\MicroBenchmarks.csproj", [string] $Csproj="src\benchmarks\micro\MicroBenchmarks.csproj",
[string] $Kind="micro", [string] $Kind="micro",
[switch] $Internal, [switch] $Internal,
[switch] $Compare,
[string] $Configurations="CompilationMode=$CompilationMode" [string] $Configurations="CompilationMode=$CompilationMode"
) )
$RunFromPerformanceRepo = ($Repository -eq "dotnet/performance") $RunFromPerformanceRepo = ($Repository -eq "dotnet/performance")
$UseCoreRun = ($CoreRootDirectory -ne [string]::Empty) $UseCoreRun = ($CoreRootDirectory -ne [string]::Empty)
$UseBaselineCoreRun = ($BaselineCoreRootDirectory -ne [string]::Empty)
$PayloadDirectory = (Join-Path $SourceDirectory "Payload") $PayloadDirectory = (Join-Path $SourceDirectory "Payload")
$PerformanceDirectory = (Join-Path $PayloadDirectory "performance") $PerformanceDirectory = (Join-Path $PayloadDirectory "performance")
@ -29,7 +32,13 @@ $HelixSourcePrefix = "pr"
$Queue = "Windows.10.Amd64.ClientRS4.DevEx.15.8.Open" $Queue = "Windows.10.Amd64.ClientRS4.DevEx.15.8.Open"
if ($Framework.StartsWith("netcoreapp")) { if ($Framework.StartsWith("netcoreapp")) {
$Queue = "Windows.10.Amd64.ClientRS4.Open" $Queue = "Windows.10.Amd64.ClientRS5.Open"
}
if ($Compare) {
$Queue = "Windows.10.Amd64.19H1.Tiger.Perf.Open"
$PerfLabArguments = ""
$ExtraBenchmarkDotNetArguments = ""
} }
if ($Internal) { if ($Internal) {
@ -56,6 +65,10 @@ if ($UseCoreRun) {
$NewCoreRoot = (Join-Path $PayloadDirectory "Core_Root") $NewCoreRoot = (Join-Path $PayloadDirectory "Core_Root")
Move-Item -Path $CoreRootDirectory -Destination $NewCoreRoot Move-Item -Path $CoreRootDirectory -Destination $NewCoreRoot
} }
if ($UseBaselineCoreRun) {
$NewBaselineCoreRoot = (Join-Path $PayloadDirectory "Baseline_Core_Root")
Move-Item -Path $BaselineCoreRootDirectory -Destination $NewBaselineCoreRoot
}
$DocsDir = (Join-Path $PerformanceDirectory "docs") $DocsDir = (Join-Path $PerformanceDirectory "docs")
robocopy $DocsDir $WorkItemDirectory robocopy $DocsDir $WorkItemDirectory
@ -80,7 +93,9 @@ Write-PipelineSetVariable -Name 'TargetCsproj' -Value "$Csproj" -IsMultiJobVaria
Write-PipelineSetVariable -Name 'Kind' -Value "$Kind" -IsMultiJobVariable $false Write-PipelineSetVariable -Name 'Kind' -Value "$Kind" -IsMultiJobVariable $false
Write-PipelineSetVariable -Name 'Architecture' -Value "$Architecture" -IsMultiJobVariable $false Write-PipelineSetVariable -Name 'Architecture' -Value "$Architecture" -IsMultiJobVariable $false
Write-PipelineSetVariable -Name 'UseCoreRun' -Value "$UseCoreRun" -IsMultiJobVariable $false Write-PipelineSetVariable -Name 'UseCoreRun' -Value "$UseCoreRun" -IsMultiJobVariable $false
Write-PipelineSetVariable -Name 'UseBaselineCoreRun' -Value "$UseBaselineCoreRun" -IsMultiJobVariable $false
Write-PipelineSetVariable -Name 'RunFromPerfRepo' -Value "$RunFromPerformanceRepo" -IsMultiJobVariable $false Write-PipelineSetVariable -Name 'RunFromPerfRepo' -Value "$RunFromPerformanceRepo" -IsMultiJobVariable $false
Write-PipelineSetVariable -Name 'Compare' -Value "$Compare" -IsMultiJobVariable $false
# Helix Arguments # Helix Arguments
Write-PipelineSetVariable -Name 'Creator' -Value "$Creator" -IsMultiJobVariable $false Write-PipelineSetVariable -Name 'Creator' -Value "$Creator" -IsMultiJobVariable $false

View File

@ -2,6 +2,7 @@
source_directory=$BUILD_SOURCESDIRECTORY source_directory=$BUILD_SOURCESDIRECTORY
core_root_directory= core_root_directory=
baseline_core_root_directory=
architecture=x64 architecture=x64
framework=netcoreapp5.0 framework=netcoreapp5.0
compilation_mode=tiered compilation_mode=tiered
@ -10,12 +11,14 @@ branch=$BUILD_SOURCEBRANCH
commit_sha=$BUILD_SOURCEVERSION commit_sha=$BUILD_SOURCEVERSION
build_number=$BUILD_BUILDNUMBER build_number=$BUILD_BUILDNUMBER
internal=false internal=false
compare=false
kind="micro" kind="micro"
run_categories="coreclr corefx" run_categories="coreclr corefx"
csproj="src\benchmarks\micro\MicroBenchmarks.csproj" csproj="src\benchmarks\micro\MicroBenchmarks.csproj"
configurations= configurations=
run_from_perf_repo=false run_from_perf_repo=false
use_core_run=true use_core_run=true
use_baseline_core_run=true
while (($# > 0)); do while (($# > 0)); do
lowerI="$(echo $1 | awk '{print tolower($0)}')" lowerI="$(echo $1 | awk '{print tolower($0)}')"
@ -28,6 +31,10 @@ while (($# > 0)); do
core_root_directory=$2 core_root_directory=$2
shift 2 shift 2
;; ;;
--baselinecorerootdirectory)
baseline_core_root_directory=$2
shift 2
;;
--architecture) --architecture)
architecture=$2 architecture=$2
shift 2 shift 2
@ -72,6 +79,10 @@ while (($# > 0)); do
internal=true internal=true
shift 1 shift 1
;; ;;
--compare)
compare=true
shift 1
;;
--configurations) --configurations)
configurations=$2 configurations=$2
shift 2 shift 2
@ -114,6 +125,10 @@ if [ -z "$core_root_directory" ]; then
use_core_run=false use_core_run=false
fi fi
if [ -z "$baseline_core_root_directory" ]; then
use_baseline_core_run=false
fi
payload_directory=$source_directory/Payload payload_directory=$source_directory/Payload
performance_directory=$payload_directory/performance performance_directory=$payload_directory/performance
workitem_directory=$source_directory/workitem workitem_directory=$source_directory/workitem
@ -123,6 +138,19 @@ queue=Ubuntu.1804.Amd64.Open
creator=$BUILD_DEFINITIONNAME creator=$BUILD_DEFINITIONNAME
helix_source_prefix="pr" helix_source_prefix="pr"
if [[ "$compare" == true ]]; then
extra_benchmark_dotnet_arguments=
perflab_arguments=
# No open queues for arm64
if [[ "$architecture" = "arm64" ]]; then
echo "Compare not available for arm64"
exit 1
fi
queue=Ubuntu.1804.Amd64.Tiger.Perf.Open
fi
if [[ "$internal" == true ]]; then if [[ "$internal" == true ]]; then
perflab_arguments="--upload-to-perflab-container" perflab_arguments="--upload-to-perflab-container"
helix_source_prefix="official" helix_source_prefix="official"
@ -156,6 +184,11 @@ if [[ "$use_core_run" = true ]]; then
mv $core_root_directory $new_core_root mv $core_root_directory $new_core_root
fi fi
if [[ "$use_baseline_core_run" = true ]]; then
new_baseline_core_root=$payload_directory/Baseline_Core_Root
mv $baseline_core_root_directory $new_baseline_core_root
fi
ci=true ci=true
_script_dir=$(pwd)/eng/common _script_dir=$(pwd)/eng/common
@ -163,6 +196,7 @@ _script_dir=$(pwd)/eng/common
# Make sure all of our variables are available for future steps # Make sure all of our variables are available for future steps
Write-PipelineSetVariable -name "UseCoreRun" -value "$use_core_run" -is_multi_job_variable false Write-PipelineSetVariable -name "UseCoreRun" -value "$use_core_run" -is_multi_job_variable false
Write-PipelineSetVariable -name "UseBaselineCoreRun" -value "$use_baseline_core_run" -is_multi_job_variable false
Write-PipelineSetVariable -name "Architecture" -value "$architecture" -is_multi_job_variable false Write-PipelineSetVariable -name "Architecture" -value "$architecture" -is_multi_job_variable false
Write-PipelineSetVariable -name "PayloadDirectory" -value "$payload_directory" -is_multi_job_variable false Write-PipelineSetVariable -name "PayloadDirectory" -value "$payload_directory" -is_multi_job_variable false
Write-PipelineSetVariable -name "PerformanceDirectory" -value "$performance_directory" -is_multi_job_variable false Write-PipelineSetVariable -name "PerformanceDirectory" -value "$performance_directory" -is_multi_job_variable false
@ -179,3 +213,4 @@ Write-PipelineSetVariable -name "Creator" -value "$creator" -is_multi_job_variab
Write-PipelineSetVariable -name "HelixSourcePrefix" -value "$helix_source_prefix" -is_multi_job_variable false Write-PipelineSetVariable -name "HelixSourcePrefix" -value "$helix_source_prefix" -is_multi_job_variable false
Write-PipelineSetVariable -name "Kind" -value "$kind" -is_multi_job_variable false Write-PipelineSetVariable -name "Kind" -value "$kind" -is_multi_job_variable false
Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$framework" -is_multi_job_variable false Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$framework" -is_multi_job_variable false
Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false

View File

@ -1,8 +1,8 @@
param( param(
[Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where Symbols.NuGet packages to be checked are stored [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where Symbols.NuGet packages to be checked are stored
[Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
[Parameter(Mandatory=$true)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade [Parameter(Mandatory=$false)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade
[Parameter(Mandatory=$true)][string] $GHCommit, # GitHub commit SHA used to build the packages [Parameter(Mandatory=$false)][string] $GHCommit, # GitHub commit SHA used to build the packages
[Parameter(Mandatory=$true)][string] $SourcelinkCliVersion # Version of SourceLink CLI to use [Parameter(Mandatory=$true)][string] $SourcelinkCliVersion # Version of SourceLink CLI to use
) )
@ -13,6 +13,12 @@ param(
# all files present in the repo at a specific commit point. # all files present in the repo at a specific commit point.
$global:RepoFiles = @{} $global:RepoFiles = @{}
# Maximum number of jobs to run in parallel
$MaxParallelJobs = 6
# Wait time between check for system load
$SecondsBetweenLoadChecks = 10
$ValidatePackage = { $ValidatePackage = {
param( param(
[string] $PackagePath # Full path to a Symbols.NuGet package [string] $PackagePath # Full path to a Symbols.NuGet package
@ -22,8 +28,8 @@ $ValidatePackage = {
# Ensure input file exist # Ensure input file exist
if (!(Test-Path $PackagePath)) { if (!(Test-Path $PackagePath)) {
Write-PipelineTaskError "Input file does not exist: $PackagePath" Write-Host "Input file does not exist: $PackagePath"
ExitWithExitCode 1 return 1
} }
# Extensions for which we'll look for SourceLink information # Extensions for which we'll look for SourceLink information
@ -38,7 +44,7 @@ $ValidatePackage = {
Add-Type -AssemblyName System.IO.Compression.FileSystem Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Directory]::CreateDirectory($ExtractPath); [System.IO.Directory]::CreateDirectory($ExtractPath) | Out-Null
try { try {
$zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath) $zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath)
@ -138,16 +144,18 @@ $ValidatePackage = {
if ($FailedFiles -eq 0) { if ($FailedFiles -eq 0) {
Write-Host "Passed." Write-Host "Passed."
return 0
} }
else { else {
Write-PipelineTaskError "$PackagePath has broken SourceLink links." Write-Host "$PackagePath has broken SourceLink links."
return 1
} }
} }
function ValidateSourceLinkLinks { function ValidateSourceLinkLinks {
if (!($GHRepoName -Match "^[^\s\/]+/[^\s\/]+$")) { if ($GHRepoName -ne "" -and !($GHRepoName -Match "^[^\s\/]+/[^\s\/]+$")) {
if (!($GHRepoName -Match "^[^\s-]+-[^\s]+$")) { if (!($GHRepoName -Match "^[^\s-]+-[^\s]+$")) {
Write-PipelineTaskError "GHRepoName should be in the format <org>/<repo> or <org>-<repo>" Write-PipelineTaskError "GHRepoName should be in the format <org>/<repo> or <org>-<repo>. '$GHRepoName'"
ExitWithExitCode 1 ExitWithExitCode 1
} }
else { else {
@ -155,11 +163,12 @@ function ValidateSourceLinkLinks {
} }
} }
if (!($GHCommit -Match "^[0-9a-fA-F]{40}$")) { if ($GHCommit -ne "" -and !($GHCommit -Match "^[0-9a-fA-F]{40}$")) {
Write-PipelineTaskError "GHCommit should be a 40 chars hexadecimal string" Write-PipelineTaskError "GHCommit should be a 40 chars hexadecimal string. '$GHCommit'"
ExitWithExitCode 1 ExitWithExitCode 1
} }
if ($GHRepoName -ne "" -and $GHCommit -ne "") {
$RepoTreeURL = -Join("http://api.github.com/repos/", $GHRepoName, "/git/trees/", $GHCommit, "?recursive=1") $RepoTreeURL = -Join("http://api.github.com/repos/", $GHRepoName, "/git/trees/", $GHCommit, "?recursive=1")
$CodeExtensions = @(".cs", ".vb", ".fs", ".fsi", ".fsx", ".fsscript") $CodeExtensions = @(".cs", ".vb", ".fs", ".fsi", ".fsx", ".fsscript")
@ -176,9 +185,11 @@ function ValidateSourceLinkLinks {
} }
} }
catch { catch {
Write-PipelineTaskError "Problems downloading the list of files from the repo. Url used: $RepoTreeURL" Write-Host "Problems downloading the list of files from the repo. Url used: $RepoTreeURL . Execution will proceed without caching."
Write-Host $_ }
ExitWithExitCode 1 }
elseif ($GHRepoName -ne "" -or $GHCommit -ne "") {
Write-Host "For using the http caching mechanism both GHRepoName and GHCommit should be informed."
} }
if (Test-Path $ExtractPath) { if (Test-Path $ExtractPath) {
@ -186,14 +197,33 @@ function ValidateSourceLinkLinks {
} }
# Process each NuGet package in parallel # Process each NuGet package in parallel
$Jobs = @()
Get-ChildItem "$InputPath\*.symbols.nupkg" | Get-ChildItem "$InputPath\*.symbols.nupkg" |
ForEach-Object { ForEach-Object {
$Jobs += Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName | Out-Null
$NumJobs = @(Get-Job -State 'Running').Count
while ($NumJobs -ge $MaxParallelJobs) {
Write-Host "There are $NumJobs validation jobs running right now. Waiting $SecondsBetweenLoadChecks seconds to check again."
sleep $SecondsBetweenLoadChecks
$NumJobs = @(Get-Job -State 'Running').Count
} }
foreach ($Job in $Jobs) { foreach ($Job in @(Get-Job -State 'Completed')) {
Wait-Job -Id $Job.Id | Receive-Job Receive-Job -Id $Job.Id
Remove-Job -Id $Job.Id
}
}
$ValidationFailures = 0
foreach ($Job in @(Get-Job)) {
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
if ($jobResult -ne "0") {
$ValidationFailures++
}
}
if ($ValidationFailures -gt 0) {
Write-PipelineTaskError " $ValidationFailures package(s) failed validation."
ExitWithExitCode 1
} }
} }

View File

@ -2,6 +2,7 @@ parameters:
enableSymbolValidation: true enableSymbolValidation: true
symbolPublishingAdditionalParameters: '' symbolPublishingAdditionalParameters: ''
artifactsPublishingAdditionalParameters: '' artifactsPublishingAdditionalParameters: ''
publishInstallersAndChecksums: false
stages: stages:
- stage: NetCore_Dev5_Publish - stage: NetCore_Dev5_Publish
@ -102,6 +103,11 @@ stages:
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/' /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/' /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
/p:Configuration=Release /p:Configuration=Release
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
${{ parameters.artifactsPublishingAdditionalParameters }} ${{ parameters.artifactsPublishingAdditionalParameters }}
- task: NuGetCommand@2 - task: NuGetCommand@2

View File

@ -2,6 +2,7 @@ parameters:
enableSymbolValidation: true enableSymbolValidation: true
symbolPublishingAdditionalParameters: '' symbolPublishingAdditionalParameters: ''
artifactsPublishingAdditionalParameters: '' artifactsPublishingAdditionalParameters: ''
publishInstallersAndChecksums: false
stages: stages:
- stage: NetCore_Tools_Latest_Publish - stage: NetCore_Tools_Latest_Publish
@ -102,6 +103,11 @@ stages:
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/' /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/' /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
/p:Configuration=Release /p:Configuration=Release
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
${{ parameters.artifactsPublishingAdditionalParameters }} ${{ parameters.artifactsPublishingAdditionalParameters }}
- task: NuGetCommand@2 - task: NuGetCommand@2

View File

@ -2,6 +2,7 @@ parameters:
enableSymbolValidation: true enableSymbolValidation: true
symbolPublishingAdditionalParameters: '' symbolPublishingAdditionalParameters: ''
artifactsPublishingAdditionalParameters: '' artifactsPublishingAdditionalParameters: ''
publishInstallersAndChecksums: false
stages: stages:
- stage: Publish - stage: Publish
@ -102,6 +103,11 @@ stages:
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/' /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/' /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
/p:Configuration=Release /p:Configuration=Release
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
${{ parameters.artifactsPublishingAdditionalParameters }} ${{ parameters.artifactsPublishingAdditionalParameters }}
- task: NuGetCommand@2 - task: NuGetCommand@2

View File

@ -90,6 +90,7 @@ stages:
/p:IsInternalBuild=$(IsInternalBuild) /p:IsInternalBuild=$(IsInternalBuild)
/p:RepositoryName=$(Build.Repository.Name) /p:RepositoryName=$(Build.Repository.Name)
/p:CommitSha=$(Build.SourceVersion) /p:CommitSha=$(Build.SourceVersion)
/p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
/p:AzureStorageAccountName=$(ProxyBackedFeedsAccountName) /p:AzureStorageAccountName=$(ProxyBackedFeedsAccountName)
/p:AzureStorageAccountKey=$(dotnetfeed-storage-access-key-1) /p:AzureStorageAccountKey=$(dotnetfeed-storage-access-key-1)
/p:AzureDevOpsFeedsBaseUrl=$(dotnetfeed-internal-private-feed-url) /p:AzureDevOpsFeedsBaseUrl=$(dotnetfeed-internal-private-feed-url)

View File

@ -1,5 +1,6 @@
parameters: parameters:
artifactsPublishingAdditionalParameters: '' artifactsPublishingAdditionalParameters: ''
publishInstallersAndChecksums: false
stages: stages:
- stage: PVR_Publish - stage: PVR_Publish
@ -66,6 +67,11 @@ stages:
/p:BlobBasePath='$(Build.ArtifactStagingDirectory)\BlobArtifacts' /p:BlobBasePath='$(Build.ArtifactStagingDirectory)\BlobArtifacts'
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)\PackageArtifacts' /p:PackageBasePath='$(Build.ArtifactStagingDirectory)\PackageArtifacts'
/p:Configuration=Release /p:Configuration=Release
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
${{ parameters.artifactsPublishingAdditionalParameters }} ${{ parameters.artifactsPublishingAdditionalParameters }}
- task: NuGetCommand@2 - task: NuGetCommand@2

View File

@ -1,5 +1,6 @@
variables: variables:
- group: Publish-Build-Assets - group: Publish-Build-Assets
- group: DotNet-DotNetCli-Storage
# .NET Core 3 Dev # .NET Core 3 Dev
- name: PublicDevRelease_30_Channel_Id - name: PublicDevRelease_30_Channel_Id
@ -45,3 +46,9 @@ variables:
value: 3.0.0 value: 3.0.0
- name: SymbolToolVersion - name: SymbolToolVersion
value: 1.0.1 value: 1.0.1
# Default locations for Installers and checksums
- name: ChecksumsBlobFeedUrl
value: https://dotnetcli.blob.core.windows.net/dotnet/index.json
- name: InstallersBlobFeedUrl
value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json

View File

@ -3,6 +3,7 @@ parameters:
enableSigningValidation: true enableSigningValidation: true
enableSymbolValidation: true enableSymbolValidation: true
enableNugetValidation: true enableNugetValidation: true
publishInstallersAndChecksums: false
SDLValidationParameters: SDLValidationParameters:
enable: false enable: false
params: '' params: ''
@ -85,6 +86,7 @@ stages:
-GHRepoName $(Build.Repository.Name) -GHRepoName $(Build.Repository.Name)
-GHCommit $(Build.SourceVersion) -GHCommit $(Build.SourceVersion)
-SourcelinkCliVersion $(SourceLinkCLIVersion) -SourcelinkCliVersion $(SourceLinkCLIVersion)
continueOnError: true
- ${{ if eq(parameters.SDLValidationParameters.enable, 'true') }}: - ${{ if eq(parameters.SDLValidationParameters.enable, 'true') }}:
- template: /eng/common/templates/job/execute-sdl.yml - template: /eng/common/templates/job/execute-sdl.yml
@ -96,22 +98,26 @@ stages:
enableSymbolValidation: ${{ parameters.enableSymbolValidation }} enableSymbolValidation: ${{ parameters.enableSymbolValidation }}
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }} symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
- template: \eng\common\templates\post-build\channels\public-dev-release.yml - template: \eng\common\templates\post-build\channels\public-dev-release.yml
parameters: parameters:
enableSymbolValidation: ${{ parameters.enableSymbolValidation }} enableSymbolValidation: ${{ parameters.enableSymbolValidation }}
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }} symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
- template: \eng\common\templates\post-build\channels\netcore-tools-latest.yml - template: \eng\common\templates\post-build\channels\netcore-tools-latest.yml
parameters: parameters:
enableSymbolValidation: ${{ parameters.enableSymbolValidation }} enableSymbolValidation: ${{ parameters.enableSymbolValidation }}
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }} symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
- template: \eng\common\templates\post-build\channels\public-validation-release.yml - template: \eng\common\templates\post-build\channels\public-validation-release.yml
parameters: parameters:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
- template: \eng\common\templates\post-build\channels\public-release.yml - template: \eng\common\templates\post-build\channels\public-release.yml
parameters: parameters:

View File

@ -24,7 +24,7 @@
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Yarn.MSBuild": "1.15.2", "Yarn.MSBuild": "1.15.2",
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19416.16", "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19425.1",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19416.16" "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19425.1"
} }
} }