Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>2021-08-23 15:23:16 +0300
committerGitHub <noreply@github.com>2021-08-23 15:23:16 +0300
commit46ccc50ab8fad8db2fd0e04d43017475f461e96c (patch)
tree717dc2e196190fc0e14030170f44f116d2dac918 /eng/common
parent062c230b2674ea187da17d94742531e196e1e172 (diff)
Update dependencies from https://github.com/dotnet/arcade build 20210820.4 (#2223)
[main] Update dependencies from dotnet/arcade
Diffstat (limited to 'eng/common')
-rwxr-xr-xeng/common/build.sh1
-rwxr-xr-xeng/common/init-tools-native.sh2
-rwxr-xr-xeng/common/native/common-library.sh8
-rw-r--r--eng/common/post-build/sourcelink-validation.ps117
-rw-r--r--eng/common/sdk-task.ps11
-rw-r--r--eng/common/templates/job/source-index-stage1.yml21
-rw-r--r--eng/common/tools.ps121
-rwxr-xr-xeng/common/tools.sh7
8 files changed, 57 insertions, 21 deletions
diff --git a/eng/common/build.sh b/eng/common/build.sh
index 55b298f16..9d3042a94 100755
--- a/eng/common/build.sh
+++ b/eng/common/build.sh
@@ -187,6 +187,7 @@ function InitializeCustomToolset {
}
function Build {
+ TryLogClientIpAddress
InitializeToolset
InitializeCustomToolset
diff --git a/eng/common/init-tools-native.sh b/eng/common/init-tools-native.sh
index 5bd205b5d..3e6a8d6ac 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 bf272dcf5..080c2c283 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 85c898617..3b6fc9533 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 b1bca63ab..7ffa3591e 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -83,6 +83,7 @@ try {
}
if ($restore) {
+ 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 b58d42364..1cc0c29e4 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 5d526c74d..e607aa436 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -154,6 +154,9 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) {
return $global:_DotNetInstallDir
}
+ # In case of network error, try to log the current IP for reference
+ Try-LogClientIpAddress
+
# Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism
$env:DOTNET_MULTILEVEL_LOOKUP=0
@@ -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 828119be4..3c5f3a12c 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: '
+ fi
+}
+
function MSBuild {
local args=$@
if [[ "$pipelines_log" == true ]]; then