Skip to content

Commit 11dd469

Browse files
authored
Merge pull request #1685 from dotnet/darc-release/3.0-preview9-f26f1f35-9a18-4d38-9f54-2ea41c52fd5d
[release/3.0-preview9] Update dependencies from dotnet/arcade
2 parents a9f5f2b + 9a8be47 commit 11dd469

19 files changed

+257
-160
lines changed

eng/Version.Details.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@
6363
<Uri>https://github.com/dotnet/core-setup</Uri>
6464
<Sha>d15a0adeb874801e7bfaa4fbbb306a2efa268497</Sha>
6565
</Dependency>
66-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19411.1">
66+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19421.1">
6767
<Uri>https://github.com/dotnet/arcade</Uri>
68-
<Sha>a11024c8c22cc762011addafc30c653c938048f4</Sha>
68+
<Sha>7aa107d818fe87e627154c0331d6de5d47f39a45</Sha>
6969
</Dependency>
70-
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="1.0.0-beta.19411.1">
70+
<Dependency Name="Microsoft.DotNet.CodeAnalysis" Version="1.0.0-beta.19421.1">
7171
<Uri>https://github.com/dotnet/arcade</Uri>
72-
<Sha>a11024c8c22cc762011addafc30c653c938048f4</Sha>
72+
<Sha>7aa107d818fe87e627154c0331d6de5d47f39a45</Sha>
7373
</Dependency>
7474
<Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview8.19378.8" CoherentParentDependency="Microsoft.NETCore.App">
7575
<Uri>https://github.com/dotnet/corefx</Uri>
@@ -95,17 +95,17 @@
9595
<Uri>https://github.com/dotnet/coreclr</Uri>
9696
<Sha>c01a9a157d512343ef104bb2b1f97b356e708b11</Sha>
9797
</Dependency>
98-
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19411.1">
98+
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19421.1">
9999
<Uri>https://github.com/dotnet/arcade</Uri>
100-
<Sha>a11024c8c22cc762011addafc30c653c938048f4</Sha>
100+
<Sha>7aa107d818fe87e627154c0331d6de5d47f39a45</Sha>
101101
</Dependency>
102-
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="1.0.0-beta.19411.1">
102+
<Dependency Name="Microsoft.DotNet.ApiCompat" Version="1.0.0-beta.19421.1">
103103
<Uri>https://github.com/dotnet/arcade</Uri>
104-
<Sha>a11024c8c22cc762011addafc30c653c938048f4</Sha>
104+
<Sha>7aa107d818fe87e627154c0331d6de5d47f39a45</Sha>
105105
</Dependency>
106-
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19411.1">
106+
<Dependency Name="Microsoft.DotNet.GenAPI" Version="1.0.0-beta.19421.1">
107107
<Uri>https://github.com/dotnet/arcade</Uri>
108-
<Sha>a11024c8c22cc762011addafc30c653c938048f4</Sha>
108+
<Sha>7aa107d818fe87e627154c0331d6de5d47f39a45</Sha>
109109
</Dependency>
110110
</ToolsetDependencies>
111111
</Dependencies>

eng/Versions.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@
4040
</PropertyGroup>
4141
<!-- Packages that come from https://github.com/dotnet/arcade -->
4242
<PropertyGroup>
43-
<MicrosoftDotNetApiCompatVersion>1.0.0-beta.19411.1</MicrosoftDotNetApiCompatVersion>
44-
<MicrosoftDotNetCodeAnalysisPackageVersion>1.0.0-beta.19411.1</MicrosoftDotNetCodeAnalysisPackageVersion>
45-
<MicrosoftDotNetGenAPIVersion>1.0.0-beta.19411.1</MicrosoftDotNetGenAPIVersion>
43+
<MicrosoftDotNetApiCompatVersion>1.0.0-beta.19421.1</MicrosoftDotNetApiCompatVersion>
44+
<MicrosoftDotNetCodeAnalysisPackageVersion>1.0.0-beta.19421.1</MicrosoftDotNetCodeAnalysisPackageVersion>
45+
<MicrosoftDotNetGenAPIVersion>1.0.0-beta.19421.1</MicrosoftDotNetGenAPIVersion>
4646
</PropertyGroup>
4747
<!-- Packages that come from https://github.com/dotnet/corefxlab -->
4848
<PropertyGroup>

eng/common/performance/performance-setup.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Param(
22
[string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY,
33
[string] $CoreRootDirectory,
44
[string] $Architecture="x64",
5-
[string] $Framework="netcoreapp3.0",
5+
[string] $Framework="netcoreapp5.0",
66
[string] $CompilationMode="Tiered",
77
[string] $Repository=$env:BUILD_REPOSITORY_NAME,
88
[string] $Branch=$env:BUILD_SOURCEBRANCH,
@@ -33,7 +33,7 @@ if ($Framework.StartsWith("netcoreapp")) {
3333
}
3434

3535
if ($Internal) {
36-
$Queue = "Windows.10.Amd64.ClientRS5.Perf"
36+
$Queue = "Windows.10.Amd64.19H1.Tiger.Perf"
3737
$PerfLabArguments = "--upload-to-perflab-container"
3838
$ExtraBenchmarkDotNetArguments = ""
3939
$Creator = ""

eng/common/performance/performance-setup.sh

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
source_directory=$BUILD_SOURCESDIRECTORY
44
core_root_directory=
55
architecture=x64
6-
framework=netcoreapp3.0
6+
framework=netcoreapp5.0
77
compilation_mode=tiered
88
repository=$BUILD_REPOSITORY_NAME
99
branch=$BUILD_SOURCEBRANCH
@@ -132,7 +132,7 @@ if [[ "$internal" == true ]]; then
132132
if [[ "$architecture" = "arm64" ]]; then
133133
queue=Ubuntu.1804.Arm64.Perf
134134
else
135-
queue=Ubuntu.1804.Amd64.Perf
135+
queue=Ubuntu.1804.Amd64.Tiger.Perf
136136
fi
137137
fi
138138

@@ -156,21 +156,26 @@ if [[ "$use_core_run" = true ]]; then
156156
mv $core_root_directory $new_core_root
157157
fi
158158

159+
ci=true
160+
161+
_script_dir=$(pwd)/eng/common
162+
. "$_script_dir/pipeline-logging-functions.sh"
163+
159164
# Make sure all of our variables are available for future steps
160-
echo "##vso[task.setvariable variable=UseCoreRun]$use_core_run"
161-
echo "##vso[task.setvariable variable=Architecture]$architecture"
162-
echo "##vso[task.setvariable variable=PayloadDirectory]$payload_directory"
163-
echo "##vso[task.setvariable variable=PerformanceDirectory]$performance_directory"
164-
echo "##vso[task.setvariable variable=WorkItemDirectory]$workitem_directory"
165-
echo "##vso[task.setvariable variable=Queue]$queue"
166-
echo "##vso[task.setvariable variable=SetupArguments]$setup_arguments"
167-
echo "##vso[task.setvariable variable=Python]python3"
168-
echo "##vso[task.setvariable variable=PerfLabArguments]$perflab_arguments"
169-
echo "##vso[task.setvariable variable=ExtraBenchmarkDotNetArguments]$extra_benchmark_dotnet_arguments"
170-
echo "##vso[task.setvariable variable=BDNCategories]$run_categories"
171-
echo "##vso[task.setvariable variable=TargetCsproj]$csproj"
172-
echo "##vso[task.setvariable variable=RunFromPerfRepo]$run_from_perf_repo"
173-
echo "##vso[task.setvariable variable=Creator]$creator"
174-
echo "##vso[task.setvariable variable=HelixSourcePrefix]$helix_source_prefix"
175-
echo "##vso[task.setvariable variable=Kind]$kind"
176-
echo "##vso[task.setvariable variable=_BuildConfig]$architecture.$kind.$framework"
165+
Write-PipelineSetVariable -name "UseCoreRun" -value "$use_core_run" -is_multi_job_variable false
166+
Write-PipelineSetVariable -name "Architecture" -value "$architecture" -is_multi_job_variable false
167+
Write-PipelineSetVariable -name "PayloadDirectory" -value "$payload_directory" -is_multi_job_variable false
168+
Write-PipelineSetVariable -name "PerformanceDirectory" -value "$performance_directory" -is_multi_job_variable false
169+
Write-PipelineSetVariable -name "WorkItemDirectory" -value "$workitem_directory" -is_multi_job_variable false
170+
Write-PipelineSetVariable -name "Queue" -value "$queue" -is_multi_job_variable false
171+
Write-PipelineSetVariable -name "SetupArguments" -value "$setup_arguments" -is_multi_job_variable false
172+
Write-PipelineSetVariable -name "Python" -value "$python3" -is_multi_job_variable false
173+
Write-PipelineSetVariable -name "PerfLabArguments" -value "$perflab_arguments" -is_multi_job_variable false
174+
Write-PipelineSetVariable -name "ExtraBenchmarkDotNetArguments" -value "$extra_benchmark_dotnet_arguments" -is_multi_job_variable false
175+
Write-PipelineSetVariable -name "BDNCategories" -value "$run_categories" -is_multi_job_variable false
176+
Write-PipelineSetVariable -name "TargetCsproj" -value "$csproj" -is_multi_job_variable false
177+
Write-PipelineSetVariable -name "RunFromPerfRepo" -value "$run_from_perf_repo" -is_multi_job_variable false
178+
Write-PipelineSetVariable -name "Creator" -value "$creator" -is_multi_job_variable false
179+
Write-PipelineSetVariable -name "HelixSourcePrefix" -value "$helix_source_prefix" -is_multi_job_variable false
180+
Write-PipelineSetVariable -name "Kind" -value "$kind" -is_multi_job_variable false
181+
Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$framework" -is_multi_job_variable false

eng/common/post-build/darc-gather-drop.ps1

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,17 @@ try {
1919
ExitWithExitCode $exitCode
2020
}
2121

22+
# For now, only use a dry run.
23+
# Ideally we would change darc to enable a quick request that
24+
# would check whether the file exists that you can download it,
25+
# and that it won't conflict with other files.
26+
# https://github.com/dotnet/arcade/issues/3674
27+
# Right now we can't remove continue-on-error because we ocassionally will have
28+
# dependencies that have no associated builds (e.g. an old dependency).
29+
# We need to add an option to baseline specific dependencies away, or add them manually
30+
# to the BAR.
2231
darc gather-drop --non-shipping `
32+
--dry-run `
2333
--continue-on-error `
2434
--id $BarBuildId `
2535
--output-dir $DropLocation `

eng/common/post-build/dotnetsymbol-init.ps1

Lines changed: 0 additions & 29 deletions
This file was deleted.

eng/common/post-build/sourcelink-cli-init.ps1

Lines changed: 0 additions & 29 deletions
This file was deleted.

eng/common/post-build/sourcelink-validation.ps1

Lines changed: 56 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
param(
22
[Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where Symbols.NuGet packages to be checked are stored
33
[Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
4-
[Parameter(Mandatory=$true)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade
5-
[Parameter(Mandatory=$true)][string] $GHCommit, # GitHub commit SHA used to build the packages
4+
[Parameter(Mandatory=$false)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade
5+
[Parameter(Mandatory=$false)][string] $GHCommit, # GitHub commit SHA used to build the packages
66
[Parameter(Mandatory=$true)][string] $SourcelinkCliVersion # Version of SourceLink CLI to use
77
)
88

@@ -13,6 +13,12 @@ param(
1313
# all files present in the repo at a specific commit point.
1414
$global:RepoFiles = @{}
1515

16+
# Maximum number of jobs to run in parallel
17+
$MaxParallelJobs = 6
18+
19+
# Wait time between check for system load
20+
$SecondsBetweenLoadChecks = 10
21+
1622
$ValidatePackage = {
1723
param(
1824
[string] $PackagePath # Full path to a Symbols.NuGet package
@@ -22,8 +28,8 @@ $ValidatePackage = {
2228

2329
# Ensure input file exist
2430
if (!(Test-Path $PackagePath)) {
25-
Write-PipelineTaskError "Input file does not exist: $PackagePath"
26-
ExitWithExitCode 1
31+
Write-Host "Input file does not exist: $PackagePath"
32+
return 1
2733
}
2834

2935
# Extensions for which we'll look for SourceLink information
@@ -38,7 +44,7 @@ $ValidatePackage = {
3844

3945
Add-Type -AssemblyName System.IO.Compression.FileSystem
4046

41-
[System.IO.Directory]::CreateDirectory($ExtractPath);
47+
[System.IO.Directory]::CreateDirectory($ExtractPath) | Out-Null
4248

4349
try {
4450
$zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath)
@@ -138,62 +144,86 @@ $ValidatePackage = {
138144

139145
if ($FailedFiles -eq 0) {
140146
Write-Host "Passed."
147+
return 0
141148
}
142149
else {
143-
Write-PipelineTaskError "$PackagePath has broken SourceLink links."
150+
Write-Host "$PackagePath has broken SourceLink links."
151+
return 1
144152
}
145153
}
146154

147155
function ValidateSourceLinkLinks {
148-
if (!($GHRepoName -Match "^[^\s\/]+/[^\s\/]+$")) {
156+
if ($GHRepoName -ne "" -and !($GHRepoName -Match "^[^\s\/]+/[^\s\/]+$")) {
149157
if (!($GHRepoName -Match "^[^\s-]+-[^\s]+$")) {
150-
Write-PipelineTaskError "GHRepoName should be in the format <org>/<repo> or <org>-<repo>"
158+
Write-PipelineTaskError "GHRepoName should be in the format <org>/<repo> or <org>-<repo>. '$GHRepoName'"
151159
ExitWithExitCode 1
152160
}
153161
else {
154162
$GHRepoName = $GHRepoName -replace '^([^\s-]+)-([^\s]+)$', '$1/$2';
155163
}
156164
}
157165

158-
if (!($GHCommit -Match "^[0-9a-fA-F]{40}$")) {
159-
Write-PipelineTaskError "GHCommit should be a 40 chars hexadecimal string"
166+
if ($GHCommit -ne "" -and !($GHCommit -Match "^[0-9a-fA-F]{40}$")) {
167+
Write-PipelineTaskError "GHCommit should be a 40 chars hexadecimal string. '$GHCommit'"
160168
ExitWithExitCode 1
161169
}
162170

163-
$RepoTreeURL = -Join("http://api.github.com/repos/", $GHRepoName, "/git/trees/", $GHCommit, "?recursive=1")
164-
$CodeExtensions = @(".cs", ".vb", ".fs", ".fsi", ".fsx", ".fsscript")
171+
if ($GHRepoName -ne "" -and $GHCommit -ne "") {
172+
$RepoTreeURL = -Join("http://api.github.com/repos/", $GHRepoName, "/git/trees/", $GHCommit, "?recursive=1")
173+
$CodeExtensions = @(".cs", ".vb", ".fs", ".fsi", ".fsx", ".fsscript")
165174

166-
try {
167-
# Retrieve the list of files in the repo at that particular commit point and store them in the RepoFiles hash
168-
$Data = Invoke-WebRequest $RepoTreeURL -UseBasicParsing | ConvertFrom-Json | Select-Object -ExpandProperty tree
175+
try {
176+
# Retrieve the list of files in the repo at that particular commit point and store them in the RepoFiles hash
177+
$Data = Invoke-WebRequest $RepoTreeURL -UseBasicParsing | ConvertFrom-Json | Select-Object -ExpandProperty tree
169178

170-
foreach ($file in $Data) {
171-
$Extension = [System.IO.Path]::GetExtension($file.path)
179+
foreach ($file in $Data) {
180+
$Extension = [System.IO.Path]::GetExtension($file.path)
172181

173-
if ($CodeExtensions.Contains($Extension)) {
174-
$RepoFiles[$file.path] = 1
182+
if ($CodeExtensions.Contains($Extension)) {
183+
$RepoFiles[$file.path] = 1
184+
}
175185
}
176186
}
187+
catch {
188+
Write-Host "Problems downloading the list of files from the repo. Url used: $RepoTreeURL . Execution will proceed without caching."
189+
}
177190
}
178-
catch {
179-
Write-PipelineTaskError "Problems downloading the list of files from the repo. Url used: $RepoTreeURL"
180-
Write-Host $_
181-
ExitWithExitCode 1
191+
elseif ($GHRepoName -ne "" -or $GHCommit -ne "") {
192+
Write-Host "For using the http caching mechanism both GHRepoName and GHCommit should be informed."
182193
}
183194

184195
if (Test-Path $ExtractPath) {
185196
Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
186197
}
187198

188199
# Process each NuGet package in parallel
189-
$Jobs = @()
190200
Get-ChildItem "$InputPath\*.symbols.nupkg" |
191201
ForEach-Object {
192-
$Jobs += Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName
202+
Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName | Out-Null
203+
$NumJobs = @(Get-Job -State 'Running').Count
204+
205+
while ($NumJobs -ge $MaxParallelJobs) {
206+
Write-Host "There are $NumJobs validation jobs running right now. Waiting $SecondsBetweenLoadChecks seconds to check again."
207+
sleep $SecondsBetweenLoadChecks
208+
$NumJobs = @(Get-Job -State 'Running').Count
209+
}
210+
211+
foreach ($Job in @(Get-Job -State 'Completed')) {
212+
Receive-Job -Id $Job.Id
213+
Remove-Job -Id $Job.Id
214+
}
193215
}
194216

217+
$ValidationFailures = 0
195218
foreach ($Job in $Jobs) {
196-
Wait-Job -Id $Job.Id | Receive-Job
219+
$jobResult = Wait-Job -Id $Job.Id | Receive-Job
220+
if ($jobResult -ne "0") {
221+
$ValidationFailures++
222+
}
223+
}
224+
if ($ValidationFailures -gt 0) {
225+
Write-PipelineTaskError " $ValidationFailures package(s) failed validation."
226+
ExitWithExitCode 1
197227
}
198228
}
199229

eng/common/sdl/execute-all-sdl-tools.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ if ($TsaPublish) {
8686
if (-not $TsaRepositoryName) {
8787
$TsaRepositoryName = "$($Repository)-$($BranchName)"
8888
}
89-
Write-Host "$guardianCliLocation tsa-publish --all-tools --repository-name `"$TsaRepositoryName`" --branch-name `"$TsaBranchName`" --build-number `"$BuildNumber`" --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $SourceDirectory --logger-level $GuardianLoggerLevel"
90-
& $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $ArtifactsDirectory --logger-level $GuardianLoggerLevel
89+
Write-Host "$guardianCliLocation tsa-publish --all-tools --repository-name `"$TsaRepositoryName`" --branch-name `"$TsaBranchName`" --build-number `"$BuildNumber`" --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $ArtifactsDirectory --logger-level $GuardianLoggerLevel"
90+
& $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --onboard $True --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $ArtifactsDirectory --logger-level $GuardianLoggerLevel
9191
if ($LASTEXITCODE -ne 0) {
9292
Write-Host "Guardian tsa-publish failed with exit code $LASTEXITCODE."
9393
exit $LASTEXITCODE

0 commit comments

Comments
 (0)