diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 4bc07faaba0..9bf480ed97b 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -122,29 +122,29 @@ Note: if the Uri is a new place, you will need to add a subscription from that p
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
-
+
https://github.com/dotnet/arcade
- 58ac7035021bd7277ef7582338afd25403fc9aea
+ 65c6d2fae35c9e7166b3d50aa7061115ebe26cdb
diff --git a/eng/Versions.props b/eng/Versions.props
index 35e182a0188..59f27295278 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -45,9 +45,9 @@
- 6.0.0-beta.21412.1
- 6.0.0-beta.21412.1
- 6.0.0-beta.21412.1
+ 6.0.0-beta.21425.1
+ 6.0.0-beta.21425.1
+ 6.0.0-beta.21425.1
16.5.0
diff --git a/eng/common/build.sh b/eng/common/build.sh
index 55b298f16cc..bc07a1c6848 100755
--- a/eng/common/build.sh
+++ b/eng/common/build.sh
@@ -187,6 +187,10 @@ function InitializeCustomToolset {
}
function Build {
+
+ if [[ "$ci" == true ]]; then
+ TryLogClientIpAddress
+ fi
InitializeToolset
InitializeCustomToolset
diff --git a/eng/common/init-tools-native.sh b/eng/common/init-tools-native.sh
index 5bd205b5da3..3e6a8d6acf2 100755
--- a/eng/common/init-tools-native.sh
+++ b/eng/common/init-tools-native.sh
@@ -10,7 +10,7 @@ force=false
download_retries=5
retry_wait_time_seconds=30
global_json_file="$(dirname "$(dirname "${scriptroot}")")/global.json"
-declare -A native_assets
+declare -a native_assets
. $scriptroot/pipeline-logging-functions.sh
. $scriptroot/native/common-library.sh
diff --git a/eng/common/native/common-library.sh b/eng/common/native/common-library.sh
index bf272dcf55a..080c2c283ae 100755
--- a/eng/common/native/common-library.sh
+++ b/eng/common/native/common-library.sh
@@ -148,8 +148,12 @@ function NewScriptShim {
fi
if [[ ! -f $tool_file_path ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Specified tool file path:'$tool_file_path' does not exist"
- return 1
+ # try to see if the path is lower cased
+ tool_file_path="$(echo $tool_file_path | tr "[:upper:]" "[:lower:]")"
+ if [[ ! -f $tool_file_path ]]; then
+ Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Specified tool file path:'$tool_file_path' does not exist"
+ return 1
+ fi
fi
local shim_contents=$'#!/usr/bin/env bash\n'
diff --git a/eng/common/post-build/sourcelink-validation.ps1 b/eng/common/post-build/sourcelink-validation.ps1
index 85c89861719..3b6fc953337 100644
--- a/eng/common/post-build/sourcelink-validation.ps1
+++ b/eng/common/post-build/sourcelink-validation.ps1
@@ -17,6 +17,7 @@ $global:RepoFiles = @{}
$MaxParallelJobs = 16
$MaxRetries = 5
+$RetryWaitTimeInSeconds = 30
# Wait time between check for system load
$SecondsBetweenLoadChecks = 10
@@ -99,9 +100,9 @@ $ValidatePackage = {
$Status = 200
$Cache = $using:RepoFiles
- $totalRetries = 0
+ $attempts = 0
- while ($totalRetries -lt $using:MaxRetries) {
+ while ($attempts -lt $using:MaxRetries) {
if ( !($Cache.ContainsKey($FilePath)) ) {
try {
$Uri = $Link -as [System.URI]
@@ -113,7 +114,7 @@ $ValidatePackage = {
else {
# If it's not a github link, we want to break out of the loop and not retry.
$Status = 0
- $totalRetries = $using:MaxRetries
+ $attempts = $using:MaxRetries
}
}
catch {
@@ -123,9 +124,15 @@ $ValidatePackage = {
}
if ($Status -ne 200) {
- $totalRetries++
+ $attempts++
- if ($totalRetries -ge $using:MaxRetries) {
+ if ($attempts -lt $using:MaxRetries)
+ {
+ $attemptsLeft = $using:MaxRetries - $attempts
+ Write-Warning "Download failed, $attemptsLeft attempts remaining, will retry in $using:RetryWaitTimeInSeconds seconds"
+ Start-Sleep -Seconds $using:RetryWaitTimeInSeconds
+ }
+ else {
if ($NumFailedLinks -eq 0) {
if ($FailedFiles.Value -eq 0) {
Write-Host
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index b1bca63ab1d..7ab9baac5c8 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -83,6 +83,9 @@ try {
}
if ($restore) {
+ if ($ci) {
+ Try-LogClientIpAddress
+ }
Build 'Restore'
}
diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml
index b58d42364b9..1cc0c29e4fd 100644
--- a/eng/common/templates/job/source-index-stage1.yml
+++ b/eng/common/templates/job/source-index-stage1.yml
@@ -34,29 +34,24 @@ jobs:
inputs:
packageType: sdk
version: 3.1.x
-
- - task: UseDotNet@2
- displayName: Use .NET Core sdk
- inputs:
- useGlobalJson: true
+ installationPath: $(Agent.TempDirectory)/dotnet
+ workingDirectory: $(Agent.TempDirectory)
- script: |
- dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path .source-index/tools
- dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path .source-index/tools
- echo ##vso[task.prependpath]$(Build.SourcesDirectory)/.source-index/tools
+ $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
+ $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
displayName: Download Tools
+ # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
+ workingDirectory: $(Agent.TempDirectory)
- script: ${{ parameters.sourceIndexBuildCommand }}
displayName: Build Repository
- - script: BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
+ - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
displayName: Process Binlog into indexable sln
- env:
- DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX: 2
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - script: UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
+ - script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
displayName: Upload stage1 artifacts to source index
env:
BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)
- DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX: 2
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 5d526c74d51..56ee4a577ac 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -163,6 +163,9 @@ 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
@@ -872,3 +875,21 @@ 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: $_"
+ }
+}
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 828119be411..41e323104df 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -399,6 +399,13 @@ 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 b52b83c27a3..4aa0e38cec9 100644
--- a/global.json
+++ b/global.json
@@ -14,9 +14,9 @@
"version": "6.0.100-rc.1.21416.15"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21412.1",
- "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.21412.1",
- "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21412.1",
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21425.1",
+ "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.21425.1",
+ "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21425.1",
"FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0",
"Microsoft.NET.Sdk.IL": "6.0.0-rc.1.21418.17"
},