diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 9124f4ccd5..f41ce5fc72 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,25 +3,25 @@
-
+
https://github.com/dotnet/arcade
- a7c57abb74deaee6dac921dd68f9c3c58059ebfb
+ 427c05909067bb2e484116ae2239456bb45adb85
-
+
https://github.com/dotnet/arcade
- a7c57abb74deaee6dac921dd68f9c3c58059ebfb
+ 427c05909067bb2e484116ae2239456bb45adb85
-
+
https://github.com/dotnet/arcade
- a7c57abb74deaee6dac921dd68f9c3c58059ebfb
+ 427c05909067bb2e484116ae2239456bb45adb85
-
+
https://github.com/dotnet/arcade
- a7c57abb74deaee6dac921dd68f9c3c58059ebfb
+ 427c05909067bb2e484116ae2239456bb45adb85
-
+
https://github.com/dotnet/arcade
- a7c57abb74deaee6dac921dd68f9c3c58059ebfb
+ 427c05909067bb2e484116ae2239456bb45adb85
diff --git a/eng/Versions.props b/eng/Versions.props
index 254bb402b5..5fcb7ee940 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,10 +8,10 @@
7.0.100
- 7.0.0-beta.21555.2
+ 7.0.0-beta.21576.4
6.0.0-beta.21420.4
- 7.0.0-beta.21555.2
- 7.0.0-beta.21555.2
+ 7.0.0-beta.21576.4
+ 7.0.0-beta.21576.4
1.1.87-gba258badda
diff --git a/eng/common/build.sh b/eng/common/build.sh
index bc07a1c684..55b298f16c 100755
--- a/eng/common/build.sh
+++ b/eng/common/build.sh
@@ -187,10 +187,6 @@ function InitializeCustomToolset {
}
function Build {
-
- if [[ "$ci" == true ]]; then
- TryLogClientIpAddress
- fi
InitializeToolset
InitializeCustomToolset
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
index 39abdbecdc..84c1d0cc2e 100755
--- a/eng/common/darc-init.sh
+++ b/eng/common/darc-init.sh
@@ -53,7 +53,7 @@ fi
function InstallDarcCli {
local darc_cli_package_name="microsoft.dotnet.darc"
- InitializeDotNetCli
+ InitializeDotNetCli true
local dotnet_root=$_InitializeDotNetCli
if [ -z "$toolpath" ]; then
diff --git a/eng/common/msbuild.ps1 b/eng/common/msbuild.ps1
index eea19cd845..f041e5ddd9 100644
--- a/eng/common/msbuild.ps1
+++ b/eng/common/msbuild.ps1
@@ -6,6 +6,7 @@ Param(
[switch] $ci,
[switch] $prepareMachine,
[switch] $excludePrereleaseVS,
+ [string] $msbuildEngine = $null,
[Parameter(ValueFromRemainingArguments=$true)][String[]]$extraArgs
)
diff --git a/eng/common/native/init-compiler.sh b/eng/common/native/init-compiler.sh
index 8c944f30b2..e361e03fab 100644
--- a/eng/common/native/init-compiler.sh
+++ b/eng/common/native/init-compiler.sh
@@ -2,6 +2,7 @@
#
# This file detects the C/C++ compiler and exports it to the CC/CXX environment variables
#
+# NOTE: some scripts source this file and rely on stdout being empty, make sure to not output anything here!
if [[ "$#" -lt 3 ]]; then
echo "Usage..."
@@ -111,12 +112,10 @@ if [[ -z "$CC" ]]; then
exit 1
fi
-if [[ "$compiler" == "clang" ]]; then
- if command -v "lld$desired_version" > /dev/null; then
- # Only lld version >= 9 can be considered stable
- if [[ "$majorVersion" -ge 9 ]]; then
- LDFLAGS="-fuse-ld=lld"
- fi
+# Only lld version >= 9 can be considered stable
+if [[ "$compiler" == "clang" && "$majorVersion" -ge 9 ]]; then
+ if "$CC" -fuse-ld=lld -Wl,--version >/dev/null 2>&1; then
+ LDFLAGS="-fuse-ld=lld"
fi
fi
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index 7ab9baac5c..b1bca63ab1 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -83,9 +83,6 @@ try {
}
if ($restore) {
- if ($ci) {
- Try-LogClientIpAddress
- }
Build 'Restore'
}
diff --git a/eng/common/sdl/execute-all-sdl-tools.ps1 b/eng/common/sdl/execute-all-sdl-tools.ps1
index 1157151f48..e5bef8ebd3 100644
--- a/eng/common/sdl/execute-all-sdl-tools.ps1
+++ b/eng/common/sdl/execute-all-sdl-tools.ps1
@@ -124,7 +124,7 @@ try {
Exec-BlockVerbosely {
& $(Join-Path $PSScriptRoot 'run-sdl.ps1') `
-GuardianCliLocation $guardianCliLocation `
- -WorkingDirectory $workingDirectory `
+ -WorkingDirectory $SourceDirectory `
-UpdateBaseline $UpdateBaseline `
-GdnFolder $gdnFolder
}
diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml
index 37dceb1bab..7678b94ce7 100644
--- a/eng/common/templates/job/job.yml
+++ b/eng/common/templates/job/job.yml
@@ -114,6 +114,7 @@ jobs:
continueOnError: ${{ parameters.continueOnError }}
condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
- task: NuGetAuthenticate@0
- ${{ if or(eq(parameters.artifacts.download, 'true'), ne(parameters.artifacts.download, '')) }}:
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 4448428994..f1e1cb5395 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -163,9 +163,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
# Disable telemetry on CI.
if ($ci) {
$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
@@ -301,32 +298,45 @@ function InstallDotNet([string] $dotnetRoot,
if ($skipNonVersionedFiles) { $installParameters.SkipNonVersionedFiles = $skipNonVersionedFiles }
if ($noPath) { $installParameters.NoPath = $True }
- try {
- & $installScript @installParameters
- }
- catch {
- if ($runtimeSourceFeed -or $runtimeSourceFeedKey) {
- Write-Host "Failed to install dotnet from public location. Trying from '$runtimeSourceFeed'"
- if ($runtimeSourceFeed) { $installParameters.AzureFeed = $runtimeSourceFeed }
+ $variations = @()
+ $variations += @($installParameters)
- if ($runtimeSourceFeedKey) {
- $decodedBytes = [System.Convert]::FromBase64String($runtimeSourceFeedKey)
- $decodedString = [System.Text.Encoding]::UTF8.GetString($decodedBytes)
- $installParameters.FeedCredential = $decodedString
- }
+ $dotnetBuilds = $installParameters.Clone()
+ $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
+ $variations += @($dotnetBuilds)
- try {
- & $installScript @installParameters
- }
- catch {
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from custom location '$runtimeSourceFeed'."
- ExitWithExitCode 1
- }
+ if ($runtimeSourceFeed) {
+ $runtimeSource = $installParameters.Clone()
+ $runtimeSource.AzureFeed = $runtimeSourceFeed
+ if ($runtimeSourceFeedKey) {
+ $decodedBytes = [System.Convert]::FromBase64String($runtimeSourceFeedKey)
+ $decodedString = [System.Text.Encoding]::UTF8.GetString($decodedBytes)
+ $runtimeSource.FeedCredential = $decodedString
+ }
+ $variations += @($runtimeSource)
+ }
+
+ $installSuccess = $false
+ foreach ($variation in $variations) {
+ if ($variation | Get-Member AzureFeed) {
+ $location = $variation.AzureFeed
} else {
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from public location."
- ExitWithExitCode 1
+ $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.
#
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 6a4871ef72..e555c34269 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -188,28 +188,29 @@ function InstallDotNet {
GetDotNetInstallScript "$root"
local install_script=$_GetDotNetInstallScript
- local archArg=''
+ local installParameters=(--version $version --install-dir "$root")
+
if [[ -n "${3:-}" ]] && [ "$3" != 'unset' ]; then
- archArg="--architecture $3"
+ installParameters+=(--architecture $3)
fi
- local runtimeArg=''
if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then
- runtimeArg="--runtime $4"
+ installParameters+=(--runtime $4)
fi
- local skipNonVersionedFilesArg=""
if [[ "$#" -ge "5" ]] && [[ "$5" != 'false' ]]; then
- skipNonVersionedFilesArg="--skip-non-versioned-files"
+ installParameters+=(--skip-non-versioned-files)
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=''
- if [[ -n "${6:-}" ]]; then
- runtimeSourceFeed="--azure-feed $6"
- fi
+ local variations=() # list of variable names with parameter arrays in them
+
+ local public_location=("${installParameters[@]}")
+ variations+=(public_location)
- local runtimeSourceFeedKey=''
+ 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
# 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
@@ -219,22 +220,27 @@ function InstallDotNet {
decodeArg="-d"
fi
decodedFeedKey=`echo $7 | base64 $decodeArg`
- runtimeSourceFeedKey="--feed-credential $decodedFeedKey"
+ private_feed+=(--feed-credential $decodedFeedKey)
fi
+ fi
- if [[ -n "$runtimeSourceFeed" || -n "$runtimeSourceFeedKey" ]]; then
- bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg $runtimeSourceFeed $runtimeSourceFeedKey || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from custom location '$runtimeSourceFeed' (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
- else
- 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
+ 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
- }
+
+ echo "Failed to install dotnet from $variationName."
+ done
+
+ if [[ "$installSuccess" -eq 0 ]]; then
+ Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from any of the specified locations."
+ ExitWithExitCode 1
+ fi
}
function with_retries {
@@ -399,13 +405,6 @@ function StopProcesses {
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 {
local args=$@
if [[ "$pipelines_log" == true ]]; then
diff --git a/global.json b/global.json
index 8ec38d7cc1..1110be948b 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"tools": {
- "dotnet": "6.0.100-rc.1.21430.12"
+ "dotnet": "6.0.100"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.21555.2",
- "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.21555.2"
+ "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.21576.4",
+ "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.21576.4"
}
}