Merge in 'release/6.0.1xx' changes

This commit is contained in:
dotnet-bot 2021-12-14 19:56:36 +00:00
commit fd122a4e52
8 changed files with 81 additions and 93 deletions

View file

@ -197,19 +197,19 @@
</Dependency> </Dependency>
</ProductDependencies> </ProductDependencies>
<ToolsetDependencies> <ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21560.2"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.21609.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ee9b7f19853685805c612103282c8d9486c7db86</Sha> <Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" /> <SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.21560.2"> <Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.21609.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ee9b7f19853685805c612103282c8d9486c7db86</Sha> <Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" /> <SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21560.2"> <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.21609.4">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>ee9b7f19853685805c612103282c8d9486c7db86</Sha> <Sha>7421b55f46aff8373764016d942b23cbf87c75cb</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-alpha.1.21613.1"> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-alpha.1.21613.1">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri> <Uri>https://github.com/dotnet/source-build-reference-packages</Uri>

View file

@ -19,7 +19,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade --> <!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.21560.2</MicrosoftDotNetBuildTasksInstallersPackageVersion> <MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.21609.4</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms --> <!-- Dependency from https://github.com/dotnet/winforms -->

View file

@ -188,9 +188,6 @@ function InitializeCustomToolset {
function Build { function Build {
if [[ "$ci" == true ]]; then
TryLogClientIpAddress
fi
InitializeToolset InitializeToolset
InitializeCustomToolset InitializeCustomToolset

View file

@ -83,9 +83,6 @@ try {
} }
if ($restore) { if ($restore) {
if ($ci) {
Try-LogClientIpAddress
}
Build 'Restore' Build 'Restore'
} }

View file

@ -12,6 +12,7 @@ parameters:
SourcesDirectory: $(Build.SourcesDirectory) SourcesDirectory: $(Build.SourcesDirectory)
CreatePr: true CreatePr: true
AutoCompletePr: false AutoCompletePr: false
ReusePr: true
UseLfLineEndings: true UseLfLineEndings: true
UseCheckedInLocProjectJson: false UseCheckedInLocProjectJson: false
LanguageSet: VS_Main_Languages LanguageSet: VS_Main_Languages
@ -64,6 +65,8 @@ jobs:
${{ if eq(parameters.CreatePr, true) }}: ${{ if eq(parameters.CreatePr, true) }}:
isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }}
${{ if eq(parameters.RepoType, 'gitHub') }}:
isShouldReusePrSelected: ${{ parameters.ReusePr }}
packageSourceAuth: patAuth packageSourceAuth: patAuth
patVariable: ${{ parameters.CeapexPat }} patVariable: ${{ parameters.CeapexPat }}
${{ if eq(parameters.RepoType, 'gitHub') }}: ${{ if eq(parameters.RepoType, 'gitHub') }}:

View file

@ -163,9 +163,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
# Disable telemetry on CI. # Disable telemetry on CI.
if ($ci) { if ($ci) {
$env:DOTNET_CLI_TELEMETRY_OPTOUT=1 $env:DOTNET_CLI_TELEMETRY_OPTOUT=1
# In case of network error, try to log the current IP for reference
Try-LogClientIpAddress
} }
# Source Build uses DotNetCoreSdkDir variable # Source Build uses DotNetCoreSdkDir variable
@ -301,31 +298,44 @@ function InstallDotNet([string] $dotnetRoot,
if ($skipNonVersionedFiles) { $installParameters.SkipNonVersionedFiles = $skipNonVersionedFiles } if ($skipNonVersionedFiles) { $installParameters.SkipNonVersionedFiles = $skipNonVersionedFiles }
if ($noPath) { $installParameters.NoPath = $True } if ($noPath) { $installParameters.NoPath = $True }
try { $variations = @()
& $installScript @installParameters $variations += @($installParameters)
}
catch {
if ($runtimeSourceFeed -or $runtimeSourceFeedKey) {
Write-Host "Failed to install dotnet from public location. Trying from '$runtimeSourceFeed'"
if ($runtimeSourceFeed) { $installParameters.AzureFeed = $runtimeSourceFeed }
if ($runtimeSourceFeedKey) { $dotnetBuilds = $installParameters.Clone()
$decodedBytes = [System.Convert]::FromBase64String($runtimeSourceFeedKey) $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
$decodedString = [System.Text.Encoding]::UTF8.GetString($decodedBytes) $variations += @($dotnetBuilds)
$installParameters.FeedCredential = $decodedString
}
try { if ($runtimeSourceFeed) {
& $installScript @installParameters $runtimeSource = $installParameters.Clone()
} $runtimeSource.AzureFeed = $runtimeSourceFeed
catch { if ($runtimeSourceFeedKey) {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from custom location '$runtimeSourceFeed'." $decodedBytes = [System.Convert]::FromBase64String($runtimeSourceFeedKey)
ExitWithExitCode 1 $decodedString = [System.Text.Encoding]::UTF8.GetString($decodedBytes)
} $runtimeSource.FeedCredential = $decodedString
} else {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from public location."
ExitWithExitCode 1
} }
$variations += @($runtimeSource)
}
$installSuccess = $false
foreach ($variation in $variations) {
if ($variation | Get-Member AzureFeed) {
$location = $variation.AzureFeed
} else {
$location = "public location";
}
Write-Host "Attempting to install dotnet from $location."
try {
& $installScript @variation
$installSuccess = $true
break
}
catch {
Write-Host "Failed to install dotnet from $location."
}
}
if (-not $installSuccess) {
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from any of the specified locations."
ExitWithExitCode 1
} }
} }
@ -882,24 +892,6 @@ if (!$disableConfigureToolsetImport) {
} }
} }
function Try-LogClientIpAddress()
{
Write-Host "Attempting to log this client's IP for Azure Package feed telemetry purposes"
try
{
$result = Invoke-WebRequest -Uri "http://co1.msedge.net/fdv2/diagnostics.aspx" -UseBasicParsing
$lines = $result.Content.Split([Environment]::NewLine)
$socketIp = $lines | Select-String -Pattern "^Socket IP:.*"
Write-Host $socketIp
$clientIp = $lines | Select-String -Pattern "^Client IP:.*"
Write-Host $clientIp
}
catch
{
Write-Host "Unable to get this machine's effective IP address for logging: $_"
}
}
# #
# If $ci flag is set, turn on (and log that we did) special environment variables for improved Nuget client retry logic. # If $ci flag is set, turn on (and log that we did) special environment variables for improved Nuget client retry logic.
# #

View file

@ -188,28 +188,29 @@ function InstallDotNet {
GetDotNetInstallScript "$root" GetDotNetInstallScript "$root"
local install_script=$_GetDotNetInstallScript local install_script=$_GetDotNetInstallScript
local archArg='' local installParameters=(--version $version --install-dir "$root")
if [[ -n "${3:-}" ]] && [ "$3" != 'unset' ]; then if [[ -n "${3:-}" ]] && [ "$3" != 'unset' ]; then
archArg="--architecture $3" installParameters+=(--architecture $3)
fi fi
local runtimeArg=''
if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then
runtimeArg="--runtime $4" installParameters+=(--runtime $4)
fi fi
local skipNonVersionedFilesArg=""
if [[ "$#" -ge "5" ]] && [[ "$5" != 'false' ]]; then if [[ "$#" -ge "5" ]] && [[ "$5" != 'false' ]]; then
skipNonVersionedFilesArg="--skip-non-versioned-files" installParameters+=(--skip-non-versioned-files)
fi fi
bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg || {
local exit_code=$?
echo "Failed to install dotnet SDK from public location (exit code '$exit_code')."
local runtimeSourceFeed='' local variations=() # list of variable names with parameter arrays in them
if [[ -n "${6:-}" ]]; then
runtimeSourceFeed="--azure-feed $6"
fi
local runtimeSourceFeedKey='' local public_location=("${installParameters[@]}")
variations+=(public_location)
local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://dotnetbuilds.azureedge.net/public")
variations+=(dotnetbuilds)
if [[ -n "${6:-}" ]]; then
variations+=(private_feed)
local private_feed=("${installParameters[@]}" --azure-feed $6)
if [[ -n "${7:-}" ]]; then if [[ -n "${7:-}" ]]; then
# The 'base64' binary on alpine uses '-d' and doesn't support '--decode' # The 'base64' binary on alpine uses '-d' and doesn't support '--decode'
# '-d'. To work around this, do a simple detection and switch the parameter # '-d'. To work around this, do a simple detection and switch the parameter
@ -219,22 +220,27 @@ function InstallDotNet {
decodeArg="-d" decodeArg="-d"
fi fi
decodedFeedKey=`echo $7 | base64 $decodeArg` decodedFeedKey=`echo $7 | base64 $decodeArg`
runtimeSourceFeedKey="--feed-credential $decodedFeedKey" private_feed+=(--feed-credential $decodedFeedKey)
fi
fi
local installSuccess=0
for variationName in "${variations[@]}"; do
local name="$variationName[@]"
local variation=("${!name}")
echo "Attempting to install dotnet from $variationName."
bash "$install_script" "${variation[@]}" && installSuccess=1
if [[ "$installSuccess" -eq 1 ]]; then
break
fi fi
if [[ -n "$runtimeSourceFeed" || -n "$runtimeSourceFeedKey" ]]; then echo "Failed to install dotnet from $variationName."
bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg $runtimeSourceFeed $runtimeSourceFeedKey || { done
local exit_code=$?
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from custom location '$runtimeSourceFeed' (exit code '$exit_code')." if [[ "$installSuccess" -eq 0 ]]; then
ExitWithExitCode $exit_code Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from any of the specified locations."
} ExitWithExitCode 1
else fi
if [[ $exit_code != 0 ]]; then
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from public location (exit code '$exit_code')."
fi
ExitWithExitCode $exit_code
fi
}
} }
function with_retries { function with_retries {
@ -399,13 +405,6 @@ function StopProcesses {
return 0 return 0
} }
function TryLogClientIpAddress () {
echo 'Attempting to log this client''s IP for Azure Package feed telemetry purposes'
if command -v curl > /dev/null; then
curl -s 'http://co1.msedge.net/fdv2/diagnostics.aspx' | grep ' IP: ' || true
fi
}
function MSBuild { function MSBuild {
local args=$@ local args=$@
if [[ "$pipelines_log" == true ]]; then if [[ "$pipelines_log" == true ]]; then

View file

@ -11,7 +11,7 @@
"cmake": "3.16.4" "cmake": "3.16.4"
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21560.2", "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21609.4",
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.21560.2" "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.21609.4"
} }
} }