diff --git a/NuGet.config b/NuGet.config index f39fab9df8ec4..f74e0c4a70248 100644 --- a/NuGet.config +++ b/NuGet.config @@ -15,10 +15,11 @@ + + + - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1ebd09b7378e7..9090f694e1c94 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -14,117 +14,117 @@ - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 https://github.com/microsoft/vstest 140434f7109d357d0158ade9e5164a4861513965 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 https://github.com/dotnet/llvm-project @@ -202,33 +202,33 @@ https://github.com/dotnet/xharness e9669dc84ecd668d3bbb748758103e23b394ffef - + https://github.com/dotnet/arcade - 9b7027ba718462aa6410cef61a8be5a4283e7528 + ac8b7514ca8bcac1d071a16b7a92cb52f7058871 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - d50065944d8b41d804448a7056351481d583ad3d + 747a1f61b231b347b12175be594c4ee0f1a34996 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - d50065944d8b41d804448a7056351481d583ad3d + 747a1f61b231b347b12175be594c4ee0f1a34996 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - d50065944d8b41d804448a7056351481d583ad3d + 747a1f61b231b347b12175be594c4ee0f1a34996 - + https://dev.azure.com/dnceng/internal/_git/dotnet-optimization - d50065944d8b41d804448a7056351481d583ad3d + 747a1f61b231b347b12175be594c4ee0f1a34996 - + https://github.com/dotnet/hotreload-utils - 802e79f0cf423249d54bfaafca2da4a272f4ca07 + 1e0233c8f1c07b9bb1534bb613575f7714f6b3d3 - + https://github.com/dotnet/runtime-assets - 7f980667ff908c5b5d7cf0dd66d48e7af23daae1 + 51f281e84ff15e3b1fd3e8cc86649c666fc581b4 https://github.com/dotnet/roslyn-analyzers diff --git a/eng/Versions.props b/eng/Versions.props index 736346f348620..9ceca97773814 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -18,8 +18,6 @@ release true - - 4.0.0-4.21416.10 true false false @@ -55,20 +53,20 @@ 1.0.0-rc.1.21404.21 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 2.5.1-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 - 6.0.0-beta.21413.4 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 2.5.1-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 + 6.0.0-beta.21418.12 6.0.0-preview.1.102 @@ -117,22 +115,22 @@ 4.5.0 6.0.0-rc.1.21415.6 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 - 6.0.0-beta.21416.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 + 7.0.0-beta.21418.1 - 1.0.0-prerelease.21416.5 - 1.0.0-prerelease.21416.5 - 1.0.0-prerelease.21416.5 - 1.0.0-prerelease.21416.5 + 1.0.0-prerelease.21418.4 + 1.0.0-prerelease.21418.4 + 1.0.0-prerelease.21418.4 + 1.0.0-prerelease.21418.4 16.9.0-beta1.21055.5 2.0.0-beta1.20253.1 @@ -158,7 +156,7 @@ 16.9.0-preview-20201201-01 1.0.0-prerelease.21404.1 1.0.0-prerelease.21404.1 - 1.0.2-alpha.0.21413.1 + 1.0.2-alpha.0.21417.1 2.4.1 2.4.2 1.3.0 diff --git a/eng/common/build.sh b/eng/common/build.sh index 55b298f16ccd1..9d3042a943e4c 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/post-build/sourcelink-validation.ps1 b/eng/common/post-build/sourcelink-validation.ps1 index 85c89861719ad..3b6fc95333736 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 b1bca63ab1d82..7ffa3591e9ca0 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 e60fdbccc9ec1..1cc0c29e4fdab 100644 --- a/eng/common/templates/job/source-index-stage1.yml +++ b/eng/common/templates/job/source-index-stage1.yml @@ -34,24 +34,24 @@ jobs: inputs: packageType: sdk version: 3.1.x - - - script: ${{ parameters.sourceIndexBuildCommand }} - displayName: Build Repository + 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 5d526c74d518c..e607aa4369762 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 828119be411b3..3c5f3a12c0a6e 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 diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake index 496384c35a70e..2ca8276a32b7d 100644 --- a/eng/native/configurecompiler.cmake +++ b/eng/native/configurecompiler.cmake @@ -573,7 +573,7 @@ if (MSVC) set(CMAKE_ASM_MASM_FLAGS "${CMAKE_ASM_MASM_FLAGS} /guard:ehcont") add_linker_flag(/guard:ehcont) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /CETCOMPAT") - endif (CLR_CMAKE_HOST_ARCH_AMD64) + endif (CLR_CMAKE_HOST_ARCH_AMD64 AND NOT CLR_CMAKE_RUNTIME_MONO) # Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid # linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST. diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index e63baf5d57fc5..d2bf43486924a 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -54,7 +54,9 @@ stages: # # Source Index Build # - - template: ./source-index.yml + - template: /eng/common/templates/job/source-index-stage1.yml + parameters: + sourceIndexBuildCommand: build.cmd -subset libs.ref+libs.src -binarylog -os Linux -ci # # Build CoreCLR diff --git a/eng/pipelines/source-index.yml b/eng/pipelines/source-index.yml deleted file mode 100644 index 201e84d4ef329..0000000000000 --- a/eng/pipelines/source-index.yml +++ /dev/null @@ -1,10 +0,0 @@ -jobs: -# -# Source Index Build -# -- template: /eng/common/templates/job/source-index-stage1.yml - parameters: - sourceIndexBuildCommand: build.cmd -subset libs.ref+libs.src -binarylog -os Linux -ci - preSteps: - - script: | - rename dotnet.cmd dotnet.cmd.go-away diff --git a/global.json b/global.json index e3425ab9bdd9d..194c494ce541c 100644 --- a/global.json +++ b/global.json @@ -12,10 +12,10 @@ "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21413.4", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21413.4", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21413.4", - "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21413.4", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21418.12", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21418.12", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21418.12", + "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21418.12", "Microsoft.Build.NoTargets": "3.1.0", "Microsoft.Build.Traversal": "3.0.23", "Microsoft.NET.Sdk.IL": "6.0.0-rc.1.21415.6" diff --git a/src/tests/Interop/IJW/IJW.cmake b/src/tests/Interop/IJW/IJW.cmake index 1ba007427185c..0e94553450b0d 100644 --- a/src/tests/Interop/IJW/IJW.cmake +++ b/src/tests/Interop/IJW/IJW.cmake @@ -32,7 +32,7 @@ if (CLR_CMAKE_HOST_WIN32) string(REPLACE "/GR-" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") endif() - set(CLR_SDK_REF_PACK "") + set(CLR_SDK_REF_PACK_OUTPUT "") set(CLR_SDK_REF_PACK_DISCOVERY_ERROR "") set(CLR_SDK_REF_PACK_DISCOVERY_RESULT 0) @@ -40,14 +40,14 @@ if (CLR_CMAKE_HOST_WIN32) message("Using live-built ref assemblies for C++/CLI runtime tests.") execute_process( COMMAND powershell -ExecutionPolicy ByPass -NoProfile "${CMAKE_CURRENT_LIST_DIR}/getRefPackFolderFromArtifacts.ps1" - OUTPUT_VARIABLE CLR_SDK_REF_PACK + OUTPUT_VARIABLE CLR_SDK_REF_PACK_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE CLR_SDK_REF_PACK_DISCOVERY_ERROR RESULT_VARIABLE CLR_SDK_REF_PACK_DISCOVERY_RESULT) else() execute_process( COMMAND powershell -ExecutionPolicy ByPass -NoProfile "${CMAKE_CURRENT_LIST_DIR}/getRefPackFolderFromSdk.ps1" - OUTPUT_VARIABLE CLR_SDK_REF_PACK + OUTPUT_VARIABLE CLR_SDK_REF_PACK_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE CLR_SDK_REF_PACK_DISCOVERY_ERROR RESULT_VARIABLE CLR_SDK_REF_PACK_DISCOVERY_RESULT) @@ -57,6 +57,8 @@ if (CLR_CMAKE_HOST_WIN32) message(FATAL_ERROR "Unable to find reference assemblies: ${CLR_SDK_REF_PACK_DISCOVERY_ERROR}") endif() + string(REGEX REPLACE ".*refPackPath=(.*)" "\\1" CLR_SDK_REF_PACK ${CLR_SDK_REF_PACK_OUTPUT}) + add_compile_options(/AI${CLR_SDK_REF_PACK}) list(APPEND LINK_LIBRARIES_ADDITIONAL ijwhost) diff --git a/src/tests/Interop/IJW/getRefPackFolderFromArtifacts.ps1 b/src/tests/Interop/IJW/getRefPackFolderFromArtifacts.ps1 index aaf5e93661ae3..98242949f440b 100644 --- a/src/tests/Interop/IJW/getRefPackFolderFromArtifacts.ps1 +++ b/src/tests/Interop/IJW/getRefPackFolderFromArtifacts.ps1 @@ -18,4 +18,4 @@ if (-not (Test-Path $refPackPath)) return 1 } -Write-Output $refPackPath +Write-Output "refPackPath=$refPackPath" diff --git a/src/tests/Interop/IJW/getRefPackFolderFromSdk.ps1 b/src/tests/Interop/IJW/getRefPackFolderFromSdk.ps1 index bb2404d27a626..0b94bca5e1072 100644 --- a/src/tests/Interop/IJW/getRefPackFolderFromSdk.ps1 +++ b/src/tests/Interop/IJW/getRefPackFolderFromSdk.ps1 @@ -25,4 +25,4 @@ if (-not (Test-Path $refPackPath)) return 1 } -Write-Output $refPackPath +Write-Output "refPackPath=$refPackPath"