Browse Source

[main] Update dependencies from dotnet/arcade (#1085)

[main] Update dependencies from dotnet/arcade
pull/1090/head
dotnet-maestro[bot] 5 years ago
committed by GitHub
parent
commit
82b07fc044
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      eng/Version.Details.xml
  2. 2
      eng/common/dotnet-install.sh
  3. 6
      eng/common/internal-feed-operations.ps1
  4. 2
      eng/common/internal-feed-operations.sh
  5. 4
      eng/common/sdk-task.ps1
  6. 2
      eng/common/sdl/execute-all-sdl-tools.ps1
  7. 2
      eng/common/sdl/init-sdl.ps1
  8. 2
      eng/common/sdl/run-sdl.ps1
  9. 8
      eng/common/templates/job/onelocbuild.yml
  10. 99
      eng/common/tools.ps1
  11. 9
      eng/common/tools.sh
  12. 4
      global.json

20
eng/Version.Details.xml

@ -3,25 +3,25 @@
<ProductDependencies> <ProductDependencies>
</ProductDependencies> </ProductDependencies>
<ToolsetDependencies> <ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21304.1"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21314.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>85a65ea1fca1d0867f699fed44d191358270bf6a</Sha> <Sha>fc067a0928f1c8ca4ab3471e9f8edb592e96dec4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21304.1"> <Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="6.0.0-beta.21314.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>85a65ea1fca1d0867f699fed44d191358270bf6a</Sha> <Sha>fc067a0928f1c8ca4ab3471e9f8edb592e96dec4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.SignTool" Version="6.0.0-beta.21304.1"> <Dependency Name="Microsoft.DotNet.SignTool" Version="6.0.0-beta.21314.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>85a65ea1fca1d0867f699fed44d191358270bf6a</Sha> <Sha>fc067a0928f1c8ca4ab3471e9f8edb592e96dec4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21304.1"> <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="6.0.0-beta.21314.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>85a65ea1fca1d0867f699fed44d191358270bf6a</Sha> <Sha>fc067a0928f1c8ca4ab3471e9f8edb592e96dec4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="6.0.0-beta.21304.1"> <Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="6.0.0-beta.21314.1">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>85a65ea1fca1d0867f699fed44d191358270bf6a</Sha> <Sha>fc067a0928f1c8ca4ab3471e9f8edb592e96dec4</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Maestro.Client" Version="1.1.0-beta.19556.4"> <Dependency Name="Microsoft.DotNet.Maestro.Client" Version="1.1.0-beta.19556.4">
<Uri>https://github.com/dotnet/arcade-services</Uri> <Uri>https://github.com/dotnet/arcade-services</Uri>

2
eng/common/dotnet-install.sh

@ -70,7 +70,7 @@ case $cpuname in
;; ;;
esac esac
dotnetRoot="$repo_root/.dotnet" dotnetRoot="${repo_root}.dotnet"
if [[ $architecture != "" ]] && [[ $architecture != $buildarch ]]; then if [[ $architecture != "" ]] && [[ $architecture != $buildarch ]]; then
dotnetRoot="$dotnetRoot/$architecture" dotnetRoot="$dotnetRoot/$architecture"
fi fi

6
eng/common/internal-feed-operations.ps1

@ -45,11 +45,11 @@ function SetupCredProvider {
# Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable # Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
# feeds successfully # feeds successfully
$nugetConfigPath = "$RepoRoot\NuGet.config" $nugetConfigPath = Join-Path $RepoRoot "NuGet.config"
if (-Not (Test-Path -Path $nugetConfigPath)) { if (-Not (Test-Path -Path $nugetConfigPath)) {
Write-PipelineTelemetryError -Category 'Build' -Message 'NuGet.config file not found in repo root!' Write-PipelineTelemetryError -Category 'Build' -Message 'NuGet.config file not found in repo root!'
ExitWithExitCode 1 ExitWithExitCode 1
} }
$endpoints = New-Object System.Collections.ArrayList $endpoints = New-Object System.Collections.ArrayList
@ -85,7 +85,7 @@ function SetupCredProvider {
#Workaround for https://github.com/microsoft/msbuild/issues/4430 #Workaround for https://github.com/microsoft/msbuild/issues/4430
function InstallDotNetSdkAndRestoreArcade { function InstallDotNetSdkAndRestoreArcade {
$dotnetTempDir = "$RepoRoot\dotnet" $dotnetTempDir = Join-Path $RepoRoot "dotnet"
$dotnetSdkVersion="2.1.507" # After experimentation we know this version works when restoring the SDK (compared to 3.0.*) $dotnetSdkVersion="2.1.507" # After experimentation we know this version works when restoring the SDK (compared to 3.0.*)
$dotnet = "$dotnetTempDir\dotnet.exe" $dotnet = "$dotnetTempDir\dotnet.exe"
$restoreProjPath = "$PSScriptRoot\restore.proj" $restoreProjPath = "$PSScriptRoot\restore.proj"

2
eng/common/internal-feed-operations.sh

@ -39,7 +39,7 @@ function SetupCredProvider {
# Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable # Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
# feeds successfully # feeds successfully
local nugetConfigPath="$repo_root/NuGet.config" local nugetConfigPath="{$repo_root}NuGet.config"
if [ ! "$nugetConfigPath" ]; then if [ ! "$nugetConfigPath" ]; then
Write-PipelineTelemetryError -category 'Build' "NuGet.config file not found in repo's root!" Write-PipelineTelemetryError -category 'Build' "NuGet.config file not found in repo's root!"

4
eng/common/sdk-task.ps1

@ -34,7 +34,7 @@ function Print-Usage() {
function Build([string]$target) { function Build([string]$target) {
$logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" } $logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" }
$log = Join-Path $LogDir "$task$logSuffix.binlog" $log = Join-Path $LogDir "$task$logSuffix.binlog"
$outputPath = Join-Path $ToolsetDir "$task\\" $outputPath = Join-Path $ToolsetDir "$task\"
MSBuild $taskProject ` MSBuild $taskProject `
/bl:$log ` /bl:$log `
@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
} }
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.8.0-preview3" -MemberType NoteProperty $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.10.0-preview2" -MemberType NoteProperty
} }
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true

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

@ -32,7 +32,7 @@ try {
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'
Set-StrictMode -Version 2.0 Set-StrictMode -Version 2.0
$disableConfigureToolsetImport = $true $disableConfigureToolsetImport = $true
$LASTEXITCODE = 0 $global:LASTEXITCODE = 0
# `tools.ps1` checks $ci to perform some actions. Since the SDL # `tools.ps1` checks $ci to perform some actions. Since the SDL
# scripts don't necessarily execute in the same agent that run the # scripts don't necessarily execute in the same agent that run the

2
eng/common/sdl/init-sdl.ps1

@ -10,7 +10,7 @@ Param(
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'
Set-StrictMode -Version 2.0 Set-StrictMode -Version 2.0
$disableConfigureToolsetImport = $true $disableConfigureToolsetImport = $true
$LASTEXITCODE = 0 $global:LASTEXITCODE = 0
# `tools.ps1` checks $ci to perform some actions. Since the SDL # `tools.ps1` checks $ci to perform some actions. Since the SDL
# scripts don't necessarily execute in the same agent that run the # scripts don't necessarily execute in the same agent that run the

2
eng/common/sdl/run-sdl.ps1

@ -13,7 +13,7 @@ Param(
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'
Set-StrictMode -Version 2.0 Set-StrictMode -Version 2.0
$disableConfigureToolsetImport = $true $disableConfigureToolsetImport = $true
$LASTEXITCODE = 0 $global:LASTEXITCODE = 0
try { try {
# `tools.ps1` checks $ci to perform some actions. Since the SDL # `tools.ps1` checks $ci to perform some actions. Since the SDL

8
eng/common/templates/job/onelocbuild.yml

@ -18,6 +18,9 @@ parameters:
LclSource: lclFilesInRepo LclSource: lclFilesInRepo
LclPackageId: '' LclPackageId: ''
RepoType: gitHub RepoType: gitHub
GitHubOrg: dotnet
MirrorRepo: ''
MirrorBranch: main
condition: '' condition: ''
jobs: jobs:
@ -66,6 +69,11 @@ jobs:
${{ if eq(parameters.RepoType, 'gitHub') }}: ${{ if eq(parameters.RepoType, 'gitHub') }}:
repoType: ${{ parameters.RepoType }} repoType: ${{ parameters.RepoType }}
gitHubPatVariable: "${{ parameters.GithubPat }}" gitHubPatVariable: "${{ parameters.GithubPat }}"
${{ if ne(parameters.MirrorRepo, '') }}:
isMirrorRepoSelected: true
gitHubOrganization: ${{ parameters.GitHubOrg }}
mirrorRepo: ${{ parameters.MirrorRepo }}
mirrorBranch: ${{ parameters.MirrorBranch }}
condition: ${{ parameters.condition }} condition: ${{ parameters.condition }}
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1

99
eng/common/tools.ps1

@ -193,38 +193,42 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
return $global:_DotNetInstallDir = $dotnetRoot return $global:_DotNetInstallDir = $dotnetRoot
} }
function Retry($downloadBlock, $maxRetries = 5) {
$retries = 1
while($true) {
try {
& $downloadBlock
break
}
catch {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
}
if (++$retries -le $maxRetries) {
$delayInSeconds = [math]::Pow(2, $retries) - 1 # Exponential backoff
Write-Host "Retrying. Waiting for $delayInSeconds seconds before next attempt ($retries of $maxRetries)."
Start-Sleep -Seconds $delayInSeconds
}
else {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unable to download file in $maxRetries attempts."
break
}
}
}
function GetDotNetInstallScript([string] $dotnetRoot) { function GetDotNetInstallScript([string] $dotnetRoot) {
$installScript = Join-Path $dotnetRoot 'dotnet-install.ps1' $installScript = Join-Path $dotnetRoot 'dotnet-install.ps1'
if (!(Test-Path $installScript)) { if (!(Test-Path $installScript)) {
Create-Directory $dotnetRoot Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
$maxRetries = 5
$retries = 1
$uri = "https://dot.net/$dotnetInstallScriptVersion/dotnet-install.ps1" $uri = "https://dot.net/$dotnetInstallScriptVersion/dotnet-install.ps1"
while($true) { Retry({
try { Write-Host "GET $uri"
Write-Host "GET $uri" Invoke-WebRequest $uri -OutFile $installScript
Invoke-WebRequest $uri -OutFile $installScript })
break
}
catch {
Write-Host "Failed to download '$uri'"
Write-Error $_.Exception.Message -ErrorAction Continue
}
if (++$retries -le $maxRetries) {
$delayInSeconds = [math]::Pow(2, $retries) - 1 # Exponential backoff
Write-Host "Retrying. Waiting for $delayInSeconds seconds before next attempt ($retries of $maxRetries)."
Start-Sleep -Seconds $delayInSeconds
}
else {
throw "Unable to download file in $maxRetries attempts."
}
}
} }
return $installScript return $installScript
@ -308,8 +312,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied, # If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here: # use this version. Version matches a package here:
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=16.8.0-preview3&view=overview # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=16.10.0-preview2&view=overview
$defaultXCopyMSBuildVersion = '16.8.0-preview3' $defaultXCopyMSBuildVersion = '16.10.0-preview2'
if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs } if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs }
$vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr } $vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr }
@ -403,9 +407,13 @@ function InitializeXCopyMSBuild([string]$packageVersion, [bool]$install) {
} }
Create-Directory $packageDir Create-Directory $packageDir
Write-Host "Downloading $packageName $packageVersion" Write-Host "Downloading $packageName $packageVersion"
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
Invoke-WebRequest "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/flat2/$packageName/$packageVersion/$packageName.$packageVersion.nupkg" -OutFile $packagePath Retry({
Invoke-WebRequest "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/flat2/$packageName/$packageVersion/$packageName.$packageVersion.nupkg" -OutFile $packagePath
})
Unzip $packagePath $packageDir Unzip $packagePath $packageDir
} }
@ -442,27 +450,9 @@ function LocateVisualStudio([object]$vsRequirements = $null){
if (!(Test-Path $vsWhereExe)) { if (!(Test-Path $vsWhereExe)) {
Create-Directory $vsWhereDir Create-Directory $vsWhereDir
Write-Host 'Downloading vswhere' Write-Host 'Downloading vswhere'
$maxRetries = 5 Retry({
$retries = 1 Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -OutFile $vswhereExe
})
while($true) {
try {
Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -OutFile $vswhereExe
break
}
catch{
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
}
if (++$retries -le $maxRetries) {
$delayInSeconds = [math]::Pow(2, $retries) - 1 # Exponential backoff
Write-Host "Retrying. Waiting for $delayInSeconds seconds before next attempt ($retries of $maxRetries)."
Start-Sleep -Seconds $delayInSeconds
}
else {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unable to download file in $maxRetries attempts."
}
}
} }
if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs } if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs }
@ -498,7 +488,7 @@ function InitializeBuildTool() {
if (Test-Path variable:global:_BuildTool) { if (Test-Path variable:global:_BuildTool) {
# If the requested msbuild parameters do not match, clear the cached variables. # If the requested msbuild parameters do not match, clear the cached variables.
if($global:_BuildTool.Contains('ExcludePrereleaseVS') -and $global:_BuildTool.ExcludePrereleaseVS -ne $excludePrereleaseVS) { if($global:_BuildTool.Contains('ExcludePrereleaseVS') -and $global:_BuildTool.ExcludePrereleaseVS -ne $excludePrereleaseVS) {
Remove-Item variable:global:_BuildTool Remove-Item variable:global:_BuildTool
Remove-Item variable:global:_MSBuildExe Remove-Item variable:global:_MSBuildExe
} else { } else {
return $global:_BuildTool return $global:_BuildTool
@ -555,7 +545,7 @@ function GetDefaultMSBuildEngine() {
function GetNuGetPackageCachePath() { function GetNuGetPackageCachePath() {
if ($env:NUGET_PACKAGES -eq $null) { if ($env:NUGET_PACKAGES -eq $null) {
# Use local cache on CI to ensure deterministic build. # Use local cache on CI to ensure deterministic build.
# Avoid using the http cache as workaround for https://github.com/NuGet/Home/issues/3116 # Avoid using the http cache as workaround for https://github.com/NuGet/Home/issues/3116
# use global cache in dev builds to avoid cost of downloading packages. # use global cache in dev builds to avoid cost of downloading packages.
# For directory normalization, see also: https://github.com/NuGet/Home/issues/7968 # For directory normalization, see also: https://github.com/NuGet/Home/issues/7968
@ -712,7 +702,10 @@ function MSBuild-Core() {
} }
foreach ($arg in $args) { foreach ($arg in $args) {
if ($arg -ne $null -and $arg.Trim() -ne "") { if ($null -ne $arg -and $arg.Trim() -ne "") {
if ($arg.EndsWith('\')) {
$arg = $arg + "\"
}
$cmdArgs += " `"$arg`"" $cmdArgs += " `"$arg`""
} }
} }
@ -784,7 +777,7 @@ function Get-Darc($version) {
. $PSScriptRoot\pipeline-logging-functions.ps1 . $PSScriptRoot\pipeline-logging-functions.ps1
$RepoRoot = Resolve-Path (Join-Path $PSScriptRoot '..\..') $RepoRoot = Resolve-Path (Join-Path $PSScriptRoot '..\..\')
$EngRoot = Resolve-Path (Join-Path $PSScriptRoot '..') $EngRoot = Resolve-Path (Join-Path $PSScriptRoot '..')
$ArtifactsDir = Join-Path $RepoRoot 'artifacts' $ArtifactsDir = Join-Path $RepoRoot 'artifacts'
$ToolsetDir = Join-Path $ArtifactsDir 'toolset' $ToolsetDir = Join-Path $ArtifactsDir 'toolset'

9
eng/common/tools.sh

@ -485,13 +485,14 @@ _script_dir=`dirname "$_ResolvePath"`
eng_root=`cd -P "$_script_dir/.." && pwd` eng_root=`cd -P "$_script_dir/.." && pwd`
repo_root=`cd -P "$_script_dir/../.." && pwd` repo_root=`cd -P "$_script_dir/../.." && pwd`
artifacts_dir="$repo_root/artifacts" repo_root="${repo_root}/"
artifacts_dir="${repo_root}artifacts"
toolset_dir="$artifacts_dir/toolset" toolset_dir="$artifacts_dir/toolset"
tools_dir="$repo_root/.tools" tools_dir="${repo_root}.tools"
log_dir="$artifacts_dir/log/$configuration" log_dir="$artifacts_dir/log/$configuration"
temp_dir="$artifacts_dir/tmp/$configuration" temp_dir="$artifacts_dir/tmp/$configuration"
global_json_file="$repo_root/global.json" global_json_file="${repo_root}global.json"
# determine if global.json contains a "runtimes" entry # determine if global.json contains a "runtimes" entry
global_json_has_runtimes=false global_json_has_runtimes=false
if command -v jq &> /dev/null; then if command -v jq &> /dev/null; then
@ -504,7 +505,7 @@ fi
# HOME may not be defined in some scenarios, but it is required by NuGet # HOME may not be defined in some scenarios, but it is required by NuGet
if [[ -z $HOME ]]; then if [[ -z $HOME ]]; then
export HOME="$repo_root/artifacts/.home/" export HOME="${repo_root}artifacts/.home/"
mkdir -p "$HOME" mkdir -p "$HOME"
fi fi

4
global.json

@ -1,6 +1,6 @@
{ {
"tools": { "tools": {
"dotnet": "6.0.100-preview.3.21202.5", "dotnet": "6.0.100-preview.4.21255.9",
"runtimes": { "runtimes": {
"dotnet": [ "dotnet": [
"3.1.14" "3.1.14"
@ -11,6 +11,6 @@
} }
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21304.1" "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21314.1"
} }
} }

Loading…
Cancel
Save