diff --git a/Directory.Build.props b/Directory.Build.props index 5cc6f25e1d661e..acee2f3fe1828c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -53,7 +53,7 @@ net$(NetCoreAppCurrentVersion) net6.0 - 6.0 + 7.0 net$(NetCoreAppToolCurrentVersion) $(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion) @@ -61,7 +61,7 @@ $(NetCoreAppLatestStableVersion).0 net$(NetCoreAppLatestStableVersion) - 6.0 + 7.0 net$(AspNetCoreAppCurrentVersion) net462 @@ -74,9 +74,6 @@ $(NetCoreAppToolCurrent) - - - net6.0 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 58ba5e4e167a7d..030a48c41ccfd8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -16,37 +16,37 @@ https://github.com/dotnet/wcf 7f504aabb1988e9a093c1e74d8040bd52feb2f01 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 - + https://github.com/dotnet/llvm-project - b3ea614b9c2326b748f8e98607c3fe7be8408165 + 05ec0c79e0cd9d4bb8a3764f70d0f49093c193d5 https://github.com/dotnet/command-line-api @@ -54,77 +54,77 @@ - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - a43c2434dc53af51e756e46553963adf2b72619a + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 https://github.com/microsoft/vstest @@ -178,37 +178,37 @@ https://github.com/dotnet/runtime-assets 78cb33dbb0fb5156f049b9e1778f47b508f1be9f - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d - + https://github.com/dotnet/llvm-project - d1be5205007e2546abeb7723799e51298880bf90 + 6f32b19258abc17deb66dfc65bc7743206e6cd7d https://github.com/dotnet/runtime @@ -238,9 +238,9 @@ https://github.com/dotnet/runtime b8dc04b445fc98d24fd92262364a9e5b5e23a5b9 - + https://github.com/dotnet/linker - 00e9a154efeb6369b1345bdafeebb686c0163841 + eb6144b2406e2d7afe18afb6a152dcb71c23a724 https://github.com/dotnet/xharness @@ -254,9 +254,9 @@ https://github.com/dotnet/xharness 346d9406089d9f85bd1286b6b82dc723667b737a - + https://github.com/dotnet/arcade - 1527dc867ccb652def4c0f57fbd2ebbed3a94019 + ba1c3aff4be864c493031d989259ef92aaa23fc3 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -274,9 +274,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 75d314fa7aa6bdce4d84473269fb6f22fb93b62d - + https://github.com/dotnet/hotreload-utils - 47d85fbfba08b6b31ec5e2f0a18f239b880ce084 + f025eb61d880f837392c1b3d7112c1342e44f9c0 https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 5f77131adbea6f..770e3ddc1c2388 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -53,22 +53,22 @@ 2.0.0-alpha.1.21525.11 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 2.5.1-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 - 7.0.0-beta.22179.1 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 2.5.1-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 + 7.0.0-beta.22255.2 6.0.0-preview.1.102 @@ -78,14 +78,14 @@ 3.1.0 7.0.0-preview.5.22226.6 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 - 1.0.0-alpha.1.22204.1 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 + 1.0.0-alpha.1.22215.3 6.0.0 1.1.1 @@ -153,7 +153,7 @@ 1.0.0-prerelease.22214.2 1.0.0-prerelease.22214.2 1.0.0-prerelease.22214.2 - 1.0.2-alpha.0.22178.2 + 1.1.0-alpha.0.22206.1 2.4.2-pre.22 0.12.0-pre.20 2.4.5 @@ -168,21 +168,21 @@ 7.0.0-preview-20220429.1 - 7.0.100-1.22255.1 + 7.0.100-1.22256.1 $(MicrosoftNETILLinkTasksVersion) 7.0.0-preview.4.22214.2 7.0.0-alpha.1.22181.2 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 - 11.1.0-alpha.1.22213.1 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 + 11.1.0-alpha.1.22215.4 7.0.0-preview.4.22215.1 $(MicrosoftNETWorkloadEmscriptenManifest70100Version) diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index e784c9c005a2a1..5a59dcff28fb35 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -4,12 +4,13 @@ set -e usage() { - echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir ]" + echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" echo "BuildArch can be: arm(default), armel, arm64, x86" echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine, alpine3.13 or alpine3.14. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." echo " for FreeBSD can be: freebsd12, freebsd13" echo " for illumos can be: illumos." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD" + echo "llvmx[.y] - optional, LLVM version for LLVM related packages." echo "--skipunmount - optional, will skip the unmount of rootfs folder." echo "--use-mirror - optional, use mirror URL to fetch resources, when available." exit 1 @@ -48,6 +49,7 @@ __AlpinePackages+=" gettext-dev" __AlpinePackages+=" icu-dev" __AlpinePackages+=" libunwind-dev" __AlpinePackages+=" lttng-ust-dev" +__AlpinePackages+=" compiler-rt-static" # CoreFX dependencies __UbuntuPackages+=" libcurl4-openssl-dev" @@ -164,6 +166,15 @@ while :; do no-lldb) unset __LLDB_Package ;; + llvm*) + version="$(echo "$lowerI" | tr -d '[:alpha:]-=')" + parts=(${version//./ }) + __LLVM_MajorVersion="${parts[0]}" + __LLVM_MinorVersion="${parts[1]}" + if [[ -z "$__LLVM_MinorVersion" && "$__LLVM_MajorVersion" -le 6 ]]; then + __LLVM_MinorVersion=0; + fi + ;; xenial) # Ubuntu 16.04 if [ "$__CodeName" != "jessie" ]; then __CodeName=xenial @@ -261,6 +272,10 @@ if [ "$__BuildArch" == "armel" ]; then fi __UbuntuPackages+=" ${__LLDB_Package:-}" +if [ ! -z "$__LLVM_MajorVersion" ]; then + __UbuntuPackages+=" libclang-common-${__LLVM_MajorVersion}${__LLVM_MinorVersion:+.$__LLVM_MinorVersion}-dev" +fi + if [ -z "$__RootfsDir" ] && [ ! -z "$ROOTFS_DIR" ]; then __RootfsDir=$ROOTFS_DIR fi diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh index 5c94e98632a0a7..abd045a3247f02 100755 --- a/eng/common/dotnet-install.sh +++ b/eng/common/dotnet-install.sh @@ -52,7 +52,7 @@ done # Use uname to determine what the CPU is, see https://en.wikipedia.org/wiki/Uname#Examples cpuname=$(uname -m) case $cpuname in - aarch64) + arm64|aarch64) buildarch=arm64 ;; loongarch64) @@ -64,7 +64,7 @@ case $cpuname in armv*l) buildarch=arm ;; - i686) + i[3-6]86) buildarch=x86 ;; *) diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1 index db830c00a6f8d8..413adea4365b12 100644 --- a/eng/common/init-tools-native.ps1 +++ b/eng/common/init-tools-native.ps1 @@ -31,6 +31,10 @@ Wait time between retry attempts in seconds .PARAMETER GlobalJsonFile File path to global.json file +.PARAMETER PathPromotion +Optional switch to enable either promote native tools specified in the global.json to the path (in Azure Pipelines) +or break the build if a native tool is not found on the path (on a local dev machine) + .NOTES #> [CmdletBinding(PositionalBinding=$false)] @@ -41,7 +45,8 @@ Param ( [switch] $Force = $False, [int] $DownloadRetries = 5, [int] $RetryWaitTimeInSeconds = 30, - [string] $GlobalJsonFile + [string] $GlobalJsonFile, + [switch] $PathPromotion ) if (!$GlobalJsonFile) { @@ -77,53 +82,97 @@ try { ConvertFrom-Json | Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue if ($NativeTools) { - $NativeTools.PSObject.Properties | ForEach-Object { - $ToolName = $_.Name - $ToolVersion = $_.Value - $LocalInstallerArguments = @{ ToolName = "$ToolName" } - $LocalInstallerArguments += @{ InstallPath = "$InstallBin" } - $LocalInstallerArguments += @{ BaseUri = "$BaseUri" } - $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" } - $LocalInstallerArguments += @{ Version = "$ToolVersion" } - - if ($Verbose) { - $LocalInstallerArguments += @{ Verbose = $True } - } - if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') { - if($Force) { - $LocalInstallerArguments += @{ Force = $True } - } - } - if ($Clean) { - $LocalInstallerArguments += @{ Clean = $True } - } - - Write-Verbose "Installing $ToolName version $ToolVersion" - Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'" - & $InstallerPath @LocalInstallerArguments - if ($LASTEXITCODE -Ne "0") { - $errMsg = "$ToolName installation failed" - if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) { - $showNativeToolsWarning = $true - if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) { - $showNativeToolsWarning = $false + if ($PathPromotion -eq $True) { + if ($env:SYSTEM_TEAMPROJECT) { # check to see if we're in an Azure pipelines build + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value + + if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) { + if ($ToolVersion -eq "latest") { + $ToolVersion = "" + } + $ArcadeToolsDirectory = "C:\arcade-tools" + if (Test-Path $ArcadeToolsDirectory -eq $False) { + Write-Error "Arcade tools directory '$ArcadeToolsDirectory' was not found; artifacts were not properly installed." + exit 1 } - if ($showNativeToolsWarning) { - Write-Warning $errMsg + $ToolDirectory = (Get-ChildItem -Path "$ArcadeToolsDirectory" -Filter "$ToolName-$ToolVersion*" | Sort-Object -Descending)[0] + if ([string]::IsNullOrWhiteSpace($ToolDirectory)) { + Write-Error "Unable to find directory for $ToolName $ToolVersion; please make sure the tool is installed on this image." + exit 1 } - $toolInstallationFailure = $true - } else { - # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 - Write-Host $errMsg - exit 1 + $BinPathFile = "$($ToolDirectory.FullName)\binpath.txt" + if (Test-Path -Path "$BinPathFile" -eq $False) { + Write-Error "Unable to find binpath.txt in '$($ToolDirectory.FullName)' ($ToolName $ToolVersion); artifact is either installed incorrectly or is not a bootstrappable tool." + exit 1 + } + $BinPath = Get-Content "$BinPathFile" + Write-Host "Adding $ToolName to the path ($(Convert-Path -Path $BinPath))..." + Write-Host "##vso[task.prependpath]$(Convert-Path -Path $BinPath)" + } + } + exit 0 + } else { + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value + + if ((Get-Command "$ToolName" -ErrorAction SilentlyContinue) -eq $null) { + Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message "$ToolName not found on path. Please install $ToolName $ToolVersion before proceeding." + } } + exit 0 + } + } else { + $NativeTools.PSObject.Properties | ForEach-Object { + $ToolName = $_.Name + $ToolVersion = $_.Value + $LocalInstallerArguments = @{ ToolName = "$ToolName" } + $LocalInstallerArguments += @{ InstallPath = "$InstallBin" } + $LocalInstallerArguments += @{ BaseUri = "$BaseUri" } + $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" } + $LocalInstallerArguments += @{ Version = "$ToolVersion" } + + if ($Verbose) { + $LocalInstallerArguments += @{ Verbose = $True } + } + if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') { + if($Force) { + $LocalInstallerArguments += @{ Force = $True } + } + } + if ($Clean) { + $LocalInstallerArguments += @{ Clean = $True } + } + + Write-Verbose "Installing $ToolName version $ToolVersion" + Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'" + & $InstallerPath @LocalInstallerArguments + if ($LASTEXITCODE -Ne "0") { + $errMsg = "$ToolName installation failed" + if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) { + $showNativeToolsWarning = $true + if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) { + $showNativeToolsWarning = $false + } + if ($showNativeToolsWarning) { + Write-Warning $errMsg + } + $toolInstallationFailure = $true + } else { + # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 + Write-Host $errMsg + exit 1 + } + } + } + + if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) { + # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 + Write-Host 'Native tools bootstrap failed' + exit 1 } - } - - if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) { - # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482 - Write-Host 'Native tools bootstrap failed' - exit 1 } } else { diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1 index b1bca63ab1d82c..119a6c660d1a4d 100644 --- a/eng/common/sdk-task.ps1 +++ b/eng/common/sdk-task.ps1 @@ -64,7 +64,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.10.0-preview2" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.1.0" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/templates/job/onelocbuild.yml b/eng/common/templates/job/onelocbuild.yml index 9d1e3042d8a6c0..3bcd243c46b678 100644 --- a/eng/common/templates/job/onelocbuild.yml +++ b/eng/common/templates/job/onelocbuild.yml @@ -72,8 +72,8 @@ jobs: lclSource: ${{ parameters.LclSource }} lclPackageId: ${{ parameters.LclPackageId }} isCreatePrSelected: ${{ parameters.CreatePr }} + isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} ${{ if eq(parameters.CreatePr, true) }}: - isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} ${{ if eq(parameters.RepoType, 'gitHub') }}: isShouldReusePrSelected: ${{ parameters.ReusePr }} diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml index d91bf9147116f0..1cbb6a0c560038 100644 --- a/eng/common/templates/job/publish-build-assets.yml +++ b/eng/common/templates/job/publish-build-assets.yml @@ -23,23 +23,33 @@ parameters: # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing publishUsingPipelines: false + # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing + publishAssetsImmediately: false + + artifactsPublishingAdditionalParameters: '' + + signingValidationAdditionalParameters: '' + jobs: - job: Asset_Registry_Publish dependsOn: ${{ parameters.dependsOn }} - displayName: Publish to Build Asset Registry + ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + displayName: Publish Assets + ${{ else }}: + displayName: Publish to Build Asset Registry pool: ${{ parameters.pool }} variables: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - name: _BuildConfig - value: ${{ parameters.configuration }} - group: Publish-Build-Assets - group: AzureDevOps-Artifact-Feeds-Pats - name: runCodesignValidationInjection value: false + - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + - template: /eng/common/templates/post-build/common-variables.yml steps: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: @@ -52,14 +62,13 @@ jobs: condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: NuGetAuthenticate@0 + - task: NuGetAuthenticate@0 - - task: PowerShell@2 - displayName: Enable cross-org NuGet feed authentication - inputs: - filePath: $(Build.SourcesDirectory)/eng/common/enable-cross-org-publishing.ps1 - arguments: -token $(dn-bot-all-orgs-artifact-feeds-rw) + - task: PowerShell@2 + displayName: Enable cross-org NuGet feed authentication + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/enable-cross-org-publishing.ps1 + arguments: -token $(dn-bot-all-orgs-artifact-feeds-rw) - task: PowerShell@2 displayName: Publish Build Assets @@ -70,7 +79,6 @@ jobs: /p:BuildAssetRegistryToken=$(MaestroAccessToken) /p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} - /p:Configuration=$(_BuildConfig) /p:OfficialBuildId=$(Build.BuildNumber) condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} @@ -114,7 +122,25 @@ jobs: PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt' PublishLocation: Container ArtifactName: ReleaseConfigs - + + - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + - template: /eng/common/templates/post-build/setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + + - task: PowerShell@2 + displayName: Publish Using Darc + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + arguments: -BuildId $(BARBuildId) + -PublishingInfraVersion 3 + -AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)' + -MaestroToken '$(MaestroApiAccessToken)' + -WaitPublishingFinish true + -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' + -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}: - template: /eng/common/templates/steps/publish-logs.yml parameters: diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml index 4af724eb1a9ec9..c2d51098d35cb1 100644 --- a/eng/common/templates/job/source-index-stage1.yml +++ b/eng/common/templates/job/source-index-stage1.yml @@ -7,6 +7,7 @@ parameters: binlogPath: artifacts/log/Debug/Build.binlog condition: '' dependsOn: '' + pool: '' jobs: - job: SourceIndexStage1 @@ -22,13 +23,17 @@ jobs: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - group: source-dot-net stage1 variables - pool: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Public - demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Server.Amd64.VS2019 + ${{ if ne(parameters.pool, '') }}: + pool: ${{ parameters.pool }} + ${{ if eq(parameters.pool, '') }}: + pool: + ${{ if eq(variables['System.TeamProject'], 'public') }}: + name: NetCore1ESPool-Public + demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open + ${{ if eq(variables['System.TeamProject'], 'internal') }}: + name: NetCore1ESPool-Internal + demands: ImageOverride -equals Build.Server.Amd64.VS2019 + steps: - ${{ each preStep in parameters.preSteps }}: - ${{ preStep }} diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml index 554e71cfc436dd..2cca53c2d1d531 100644 --- a/eng/common/templates/jobs/jobs.yml +++ b/eng/common/templates/jobs/jobs.yml @@ -27,6 +27,13 @@ parameters: # Optional: Override automatically derived dependsOn value for "publish build assets" job publishBuildAssetsDependsOn: '' + # Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage. + publishAssetsImmediately: false + + # Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml) + artifactsPublishingAdditionalParameters: '' + signingValidationAdditionalParameters: '' + # Optional: should run as a public build even in the internal project # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects. runAsPublic: false @@ -68,7 +75,6 @@ jobs: ${{ parameter.key }}: ${{ parameter.value }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}: - template: ../job/publish-build-assets.yml parameters: @@ -94,4 +100,7 @@ jobs: runAsPublic: ${{ parameters.runAsPublic }} publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} + publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }} enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} + artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} + signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml index 2f176571f020cf..5a9056f6b2fb50 100644 --- a/eng/common/templates/post-build/post-build.yml +++ b/eng/common/templates/post-build/post-build.yml @@ -82,6 +82,11 @@ parameters: default: - Validate + # Optional: Call asset publishing rather than running in a separate stage + - name: publishAssetsImmediately + type: boolean + default: false + stages: - ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: - stage: Validate @@ -99,7 +104,7 @@ stages: name: VSEngSS-MicroBuild2022-1ES demands: Cmd # If it's not devdiv, it's dnceng - ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: + ${{ else }}: name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 @@ -136,7 +141,7 @@ stages: name: VSEngSS-MicroBuild2022-1ES demands: Cmd # If it's not devdiv, it's dnceng - ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: + ${{ else }}: name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 steps: @@ -196,7 +201,7 @@ stages: name: VSEngSS-MicroBuild2022-1ES demands: Cmd # If it's not devdiv, it's dnceng - ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: + ${{ else }}: name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 steps: @@ -235,43 +240,44 @@ stages: artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }} downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }} -- stage: publish_using_darc - ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: - dependsOn: ${{ parameters.publishDependsOn }} - ${{ if and(ne(parameters.enableNugetValidation, 'true'), ne(parameters.enableSigningValidation, 'true'), ne(parameters.enableSourceLinkValidation, 'true'), ne(parameters.SDLValidationParameters.enable, 'true')) }}: - dependsOn: ${{ parameters.validateDependsOn }} - displayName: Publish using Darc - variables: - - template: common-variables.yml - jobs: - - job: - displayName: Publish Using Darc - timeoutInMinutes: 120 - pool: - # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) +- ${{ if ne(parameters.publishAssetsImmediately, 'true') }}: + - stage: publish_using_darc + ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: + dependsOn: ${{ parameters.publishDependsOn }} + ${{ else }}: + dependsOn: ${{ parameters.validateDependsOn }} + displayName: Publish using Darc + variables: + - template: common-variables.yml + jobs: + - job: + displayName: Publish Using Darc + timeoutInMinutes: 120 + pool: + # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: VSEngSS-MicroBuild2022-1ES demands: Cmd # If it's not devdiv, it's dnceng - ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: + ${{ else }}: name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 - steps: - - template: setup-maestro-vars.yml - parameters: - BARBuildId: ${{ parameters.BARBuildId }} - PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + steps: + - template: setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} - - task: NuGetAuthenticate@0 + - task: NuGetAuthenticate@0 - - task: PowerShell@2 - displayName: Publish Using Darc - inputs: - filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 - arguments: -BuildId $(BARBuildId) - -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} - -AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)' - -MaestroToken '$(MaestroApiAccessToken)' - -WaitPublishingFinish true - -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' - -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' \ No newline at end of file + - task: PowerShell@2 + displayName: Publish Using Darc + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1 + arguments: -BuildId $(BARBuildId) + -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} + -AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)' + -MaestroToken '$(MaestroApiAccessToken)' + -WaitPublishingFinish true + -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' + -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' \ No newline at end of file diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index f1e1cb53953bcc..797f05292a8515 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -365,8 +365,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=16.10.0-preview2&view=overview - $defaultXCopyMSBuildVersion = '16.10.0-preview2' + # https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.1.0&view=overview + $defaultXCopyMSBuildVersion = '17.1.0' if (!$vsRequirements) { $vsRequirements = $GlobalJson.tools.vs } $vsMinVersionStr = if ($vsRequirements.version) { $vsRequirements.version } else { $vsMinVersionReqdStr } diff --git a/eng/native/gen-buildsys.cmd b/eng/native/gen-buildsys.cmd index 243921d93d4ce5..3701e639cee983 100644 --- a/eng/native/gen-buildsys.cmd +++ b/eng/native/gen-buildsys.cmd @@ -29,8 +29,6 @@ if /i "%__Ninja%" == "1" ( ) else ( if /i NOT "%__Arch%" == "wasm" ( if /i "%__VSVersion%" == "vs2022" (set __CmakeGenerator=%__CmakeGenerator% 17 2022) - if /i "%__VSVersion%" == "vs2019" (set __CmakeGenerator=%__CmakeGenerator% 16 2019) - if /i "%__VSVersion%" == "vs2017" (set __CmakeGenerator=%__CmakeGenerator% 15 2017) if /i "%__Arch%" == "x64" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A x64) if /i "%__Arch%" == "arm" (set __ExtraCmakeParams=%__ExtraCmakeParams% -A ARM) diff --git a/eng/native/ijw/IJW.cmake b/eng/native/ijw/IJW.cmake index 3de8a673c8be00..f606b5e98889fe 100644 --- a/eng/native/ijw/IJW.cmake +++ b/eng/native/ijw/IJW.cmake @@ -32,7 +32,8 @@ if (CLR_CMAKE_HOST_WIN32) endfunction() # 4365 - signed/unsigned mismatch - add_compile_options(/wd4365) + # 4679 - Could not import member. This is an issue with IJW and static abstract methods in interfaces. + add_compile_options(/wd4365 /wd4679) # IJW add_compile_options(/clr:netcore) diff --git a/eng/native/init-vs-env.cmd b/eng/native/init-vs-env.cmd index 7eefeea1271556..9fa100950060f1 100644 --- a/eng/native/init-vs-env.cmd +++ b/eng/native/init-vs-env.cmd @@ -45,14 +45,9 @@ set "__VSCOMNTOOLS=" set "VSCMD_START_DIR=" :VSDetected -if "%VisualStudioVersion%"=="16.0" ( - set __VSVersion=vs2019 - set __PlatformToolset=v142 - goto :SetVCEnvironment -) if "%VisualStudioVersion%"=="17.0" ( set __VSVersion=vs2022 - set __PlatformToolset=v142 + set __PlatformToolset=v143 goto :SetVCEnvironment ) diff --git a/eng/nativepgo.targets b/eng/nativepgo.targets index e3db6f980c5f8a..e6d58a33994fff 100644 --- a/eng/nativepgo.targets +++ b/eng/nativepgo.targets @@ -44,7 +44,7 @@ - $(%(Identity)) + $(%(Identity).TrimEnd('\\')) diff --git a/eng/pipelines/common/xplat-setup.yml b/eng/pipelines/common/xplat-setup.yml index e6ac905afb0648..28648302614dcd 100644 --- a/eng/pipelines/common/xplat-setup.yml +++ b/eng/pipelines/common/xplat-setup.yml @@ -135,12 +135,12 @@ jobs: # Official Build Windows Pool ${{ if and(eq(parameters.osGroup, 'windows'), ne(variables['System.TeamProject'], 'public')) }}: name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Windows.10.Amd64.VS2019 + demands: ImageOverride -equals Build.Windows.Amd64.VS2022.Pre # Public Windows Build Pool ${{ if and(or(eq(parameters.osGroup, 'windows'), eq(parameters.jobParameters.hostedOs, 'windows')), eq(variables['System.TeamProject'], 'public')) }}: name: NetCore1ESPool-Public - demands: ImageOverride -equals Build.Windows.10.Amd64.VS2019.Open + demands: ImageOverride -equals Build.Windows.Amd64.VS2022.Pre.Open ${{ if eq(parameters.helixQueuesTemplate, '') }}: diff --git a/eng/pipelines/installer/jobs/base-job.yml b/eng/pipelines/installer/jobs/base-job.yml index 54825771d8a0d6..3e23c2007d0715 100644 --- a/eng/pipelines/installer/jobs/base-job.yml +++ b/eng/pipelines/installer/jobs/base-job.yml @@ -23,10 +23,10 @@ parameters: pgoType: '' packageDistroList: - - image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-14.04-debpkg-e5cf912-20175003025046 + - image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-debpkg-20220408155542-cfdd435 packageType: deb packagingArgs: /p:BuildDebPackage=true - - image: mcr.microsoft.com/dotnet-buildtools/prereqs:rhel-7-rpmpkg-c982313-20174116044113 + - image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-rpmpkg-20210714125410-daa5116 packageType: rpm packagingArgs: /p:BuildRpmPackage=true diff --git a/eng/pipelines/libraries/stress/http.yml b/eng/pipelines/libraries/stress/http.yml index 0d76b4e09ec8b0..e72006472bc051 100644 --- a/eng/pipelines/libraries/stress/http.yml +++ b/eng/pipelines/libraries/stress/http.yml @@ -97,7 +97,7 @@ jobs: DUMPS_SHARE_MOUNT_ROOT: "C:/dumps-share" pool: name: NetCore1ESPool-Public - demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open + demands: ImageOverride -equals Build.Windows.Amd64.VS2022.Pre steps: - checkout: self diff --git a/eng/pipelines/libraries/stress/ssl.yml b/eng/pipelines/libraries/stress/ssl.yml index f3d294433af2dc..46c53c7240b84c 100644 --- a/eng/pipelines/libraries/stress/ssl.yml +++ b/eng/pipelines/libraries/stress/ssl.yml @@ -55,7 +55,7 @@ jobs: timeoutInMinutes: 120 pool: name: NetCore1ESPool-Public - demands: ImageOverride -equals Build.Server.Amd64.VS2019.Open + demands: ImageOverride -equals Build.Windows.Amd64.VS2022.Pre steps: - checkout: self diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml index 8df497b7720e4e..0bed3269070ba7 100644 --- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml +++ b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml @@ -10,7 +10,7 @@ jobs: dependsOn: ${{ parameters.dependsOn }} pool: name: NetCore1ESPool-Internal - demands: ImageOverride -equals build.windows.10.amd64.vs2019 + demands: ImageOverride -equals build.windows.amd64.vs2022 # Double the default timeout. timeoutInMinutes: 180 workspace: diff --git a/eng/pipelines/official/stages/publish.yml b/eng/pipelines/official/stages/publish.yml index cba9958b2f76e7..8b11c5eac48637 100644 --- a/eng/pipelines/official/stages/publish.yml +++ b/eng/pipelines/official/stages/publish.yml @@ -20,7 +20,7 @@ stages: dependsOn: PrepareSignedArtifacts pool: name: NetCore1ESPool-Internal - demands: ImageOverride -equals Build.Windows.10.Amd64.VS2019 + demands: ImageOverride -equals Build.Windows.Amd64.VS2022 # Stages-based publishing entry point - template: /eng/common/templates/post-build/post-build.yml diff --git a/eng/targetingpacks.targets b/eng/targetingpacks.targets index 3033cb9c4d8fb7..7e2b8e17ac1eae 100644 --- a/eng/targetingpacks.targets +++ b/eng/targetingpacks.targets @@ -22,8 +22,6 @@ false false false - - <_AppHostBaselinePackVersion Condition="'$(UseLocalAppHostPack)' != 'true'">6.0.3 @@ -46,7 +44,7 @@ RuntimePackRuntimeIdentifiers="linux-arm;linux-armv6;linux-arm64;linux-musl-arm64;linux-loongarch64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;win-arm;win-arm64;win-x64;win-x86;linux-musl-arm;osx-arm64;maccatalyst-x64;maccatalyst-arm64;browser-wasm;ios-arm64;ios-arm;iossimulator-arm64;iossimulator-x64;iossimulator-x86;tvos-arm64;tvossimulator-arm64;tvossimulator-x64;android-arm64;android-arm;android-x64;android-x86" RuntimePackLabels="Mono" Condition="'@(KnownRuntimePack)' == '' or !@(KnownRuntimePack->AnyHaveMetadataValue('TargetFramework', '$(NetCoreAppCurrent)'))"/> - - + - - - - 7.0 - - - - - - - diff --git a/src/installer/tests/TestUtils/TestProjectFixture.cs b/src/installer/tests/TestUtils/TestProjectFixture.cs index 54928abdf9a580..ce5a77d99fb593 100644 --- a/src/installer/tests/TestUtils/TestProjectFixture.cs +++ b/src/installer/tests/TestUtils/TestProjectFixture.cs @@ -298,6 +298,17 @@ public TestProjectFixture PublishProject( { publishArgs.Add("--self-contained"); publishArgs.Add(selfContained.Value ? "true" : "false"); + + // Workaround for https://github.com/dotnet/sdk/issues/25062 + // If self-contained is specified via the command line, also specify the + // runtime identifier (if we didn't already). Otherwise, the SDK ends up + // passing the runtime identifier of the SDK such that the one specified + // in the project file is ignored. + if (selfContained.Value && runtime == null) + { + publishArgs.Add("--runtime"); + publishArgs.Add(RepoDirProvider.TargetRID); + } } if (outputDirectory != null) diff --git a/src/libraries/System.Runtime.Extensions/tests/System/Runtime/ProfileOptimization.cs b/src/libraries/System.Runtime.Extensions/tests/System/Runtime/ProfileOptimization.cs index 530661c9762ea2..64eb27b23a7f68 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/Runtime/ProfileOptimization.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/Runtime/ProfileOptimization.cs @@ -16,23 +16,37 @@ public class ProfileOptimizationTest : FileCleanupTestBase [ActiveIssue("https://github.com/dotnet/runtime/issues/31853", TestRuntimes.Mono)] public void ProfileOptimization_CheckFileExists(bool stopProfile) { - string profileFile = GetTestFileName(); + // Don't put this file into the normal per-test directory, because + // when RemoteExecutor.Invoke returns, it disposes this class and deletes + // that directory. Instead just put it in temp and delete it manually after. + string profileFile = Path.Combine(Path.GetTempPath(), GetTestFileName()); - RemoteExecutor.Invoke((_profileFile, _stopProfile) => + try { - // Perform the test work - ProfileOptimization.SetProfileRoot(Path.GetDirectoryName(_profileFile)); - ProfileOptimization.StartProfile(Path.GetFileName(_profileFile)); - - if (bool.Parse(_stopProfile)) + RemoteExecutor.Invoke((_profileFile, _stopProfile) => { - ProfileOptimization.StartProfile(null); - CheckProfileFileExists(_profileFile); - } + // Perform the test work + ProfileOptimization.SetProfileRoot(Path.GetDirectoryName(_profileFile)); + ProfileOptimization.StartProfile(Path.GetFileName(_profileFile)); - }, profileFile, stopProfile.ToString()).Dispose(); + if (bool.Parse(_stopProfile)) + { + ProfileOptimization.StartProfile(null); + CheckProfileFileExists(_profileFile); + } - CheckProfileFileExists(profileFile); + }, profileFile, stopProfile.ToString()).Dispose(); + + CheckProfileFileExists(profileFile); + } + finally + { + try + { + File.Delete(profileFile); + } + catch {} + } } static void CheckProfileFileExists(string profileFile) diff --git a/src/libraries/sendtohelix-wasm.targets b/src/libraries/sendtohelix-wasm.targets index d1872e3ae55b24..6aea5dfa3b797f 100644 --- a/src/libraries/sendtohelix-wasm.targets +++ b/src/libraries/sendtohelix-wasm.targets @@ -94,25 +94,23 @@ true + + true true - - true + true false - - net6.0 true false - net6.0 diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 60de339e34023a..ff512c1b1c0389 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -79,7 +79,9 @@ - <_TestUsingWorkloadsValues Include="true;false" /> + + + <_TestUsingWorkloadsValues Include="true" /> <_BuildWasmAppsProjectsToBuild Include="$(PerScenarioProjectFile)"> $(_PropertiesToPass);Scenario=BuildWasmApps;TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);TestUsingWorkloads=%(_TestUsingWorkloadsValues.Identity) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 306aa0fc13881d..909559e66a4c4b 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -144,11 +144,6 @@ sdk - - $([System.IO.File]::ReadAllText('$(RepoRoot)global.json')) - $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) - - @@ -156,6 +151,11 @@ + + + $([System.IO.File]::ReadAllText('$(RepoRoot)global.json')) + $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) + @(HelixPreCommand) diff --git a/src/mono/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeHelpers.Mono.cs b/src/mono/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeHelpers.Mono.cs index 3c33dd8bbf6301..72f3cc28a70be0 100644 --- a/src/mono/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeHelpers.Mono.cs +++ b/src/mono/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeHelpers.Mono.cs @@ -27,6 +27,7 @@ public static void InitializeArray(Array array, RuntimeFieldHandle fldHandle) } } + [Obsolete("OffsetToStringData has been deprecated. Use string.GetPinnableReference() instead.")] public static int OffsetToStringData { [Intrinsic] diff --git a/src/mono/wasm/build/WasmApp.LocalBuild.props b/src/mono/wasm/build/WasmApp.LocalBuild.props index 939d6ce4eef85a..6cbb86d94e7f51 100644 --- a/src/mono/wasm/build/WasmApp.LocalBuild.props +++ b/src/mono/wasm/build/WasmApp.LocalBuild.props @@ -22,7 +22,7 @@ - <_TargetFrameworkForNETCoreTasks>net6.0 + <_TargetFrameworkForNETCoreTasks>net7.0 false diff --git a/src/mono/wasm/debugger/BrowserDebugProxy/Firefox/FirefoxMonoProxy.cs b/src/mono/wasm/debugger/BrowserDebugProxy/Firefox/FirefoxMonoProxy.cs index 5018e7ce1f5ff3..607a9be796bd5a 100644 --- a/src/mono/wasm/debugger/BrowserDebugProxy/Firefox/FirefoxMonoProxy.cs +++ b/src/mono/wasm/debugger/BrowserDebugProxy/Firefox/FirefoxMonoProxy.cs @@ -985,7 +985,7 @@ internal override async Task OnGetScriptSource(MessageId msg_id, string sc return false; using (var reader = new StreamReader(data)) - source = await reader.ReadToEndAsync(); + source = await reader.ReadToEndAsync(token); } await SendEvent(msg_id, "", JObject.FromObject(new { source, from = script_id }), token); } diff --git a/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs b/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs index 48af87882f7a5a..4dc9d03892dcac 100644 --- a/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs +++ b/src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs @@ -1677,7 +1677,7 @@ internal virtual async Task OnGetScriptSource(MessageId msg_id, string scr return false; using (var reader = new StreamReader(data)) - source = await reader.ReadToEndAsync(); + source = await reader.ReadToEndAsync(token); } SendResponse(msg_id, Result.OkFromObject(new { scriptSource = source }), token); } diff --git a/src/native/corehost/fxr/fx_ver.cpp b/src/native/corehost/fxr/fx_ver.cpp index c5ad4441d9a4fe..254f408effe9b8 100644 --- a/src/native/corehost/fxr/fx_ver.cpp +++ b/src/native/corehost/fxr/fx_ver.cpp @@ -386,6 +386,7 @@ bool parse_internal(const pal::string_t& ver, fx_ver_t* fx_ver, bool parse_only_ bool fx_ver_t::parse(const pal::string_t& ver, fx_ver_t* fx_ver, bool parse_only_production) { bool valid = parse_internal(ver, fx_ver, parse_only_production); - assert(!valid || fx_ver->as_str() == ver); + // Causes a SIGABRT in free() on MacOS at least in singlefile, possibly elsewhere + // assert(!valid || fx_ver->as_str() == ver); return valid; } diff --git a/src/tasks/MonoTargetsTasks/ILStrip/AssemblyStripper/AssemblyStripper.csproj b/src/tasks/MonoTargetsTasks/ILStrip/AssemblyStripper/AssemblyStripper.csproj index 439b5b8b21b98c..2eb8a61b6330fb 100644 --- a/src/tasks/MonoTargetsTasks/ILStrip/AssemblyStripper/AssemblyStripper.csproj +++ b/src/tasks/MonoTargetsTasks/ILStrip/AssemblyStripper/AssemblyStripper.csproj @@ -4,11 +4,10 @@ false disable - - $(NoWarn),CS0618,CS0649,SYSLIB0003 + $(NoWarn),CS0618,CS0649,SYSLIB0003,SYSLIB0037 false diff --git a/src/tests/BuildWasmApps/testassets/SatelliteAssemblyFromProjectRef/LibraryWithResources/LibraryWithResources.csproj b/src/tests/BuildWasmApps/testassets/SatelliteAssemblyFromProjectRef/LibraryWithResources/LibraryWithResources.csproj index 5198d9c2109d4e..c6c44c64130006 100644 --- a/src/tests/BuildWasmApps/testassets/SatelliteAssemblyFromProjectRef/LibraryWithResources/LibraryWithResources.csproj +++ b/src/tests/BuildWasmApps/testassets/SatelliteAssemblyFromProjectRef/LibraryWithResources/LibraryWithResources.csproj @@ -1,5 +1,5 @@ - net6.0 + net7.0 diff --git a/src/tests/Common/ILTestRunner/ILTestRunner.csproj b/src/tests/Common/ILTestRunner/ILTestRunner.csproj index bbb4b7f2a7c290..1b8c552be2992d 100644 --- a/src/tests/Common/ILTestRunner/ILTestRunner.csproj +++ b/src/tests/Common/ILTestRunner/ILTestRunner.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + $(NetCoreAppCurrent) enable enable true diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_60035/Runtime_60035.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_60035/Runtime_60035.csproj index 5f1746c4cabc37..1630530dcbe918 100644 --- a/src/tests/JIT/Regression/JitBlue/Runtime_60035/Runtime_60035.csproj +++ b/src/tests/JIT/Regression/JitBlue/Runtime_60035/Runtime_60035.csproj @@ -3,7 +3,7 @@ None True Exe - net6.0 + $(NetCoreAppCurrent) diff --git a/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/generatetest.csproj b/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/generatetest.csproj index e1e7c5ee5fd625..ed7a5a98dd143c 100644 --- a/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/generatetest.csproj +++ b/src/tests/Loader/classloader/StaticVirtualMethods/GenericContext/Generator/generatetest.csproj @@ -1,6 +1,6 @@ Exe - net6.0 + $(NetCoreAppCurrent) diff --git a/src/tests/Loader/classloader/StaticVirtualMethods/TypeHierarchy/Generator/generatetest.csproj b/src/tests/Loader/classloader/StaticVirtualMethods/TypeHierarchy/Generator/generatetest.csproj index e1e7c5ee5fd625..ed7a5a98dd143c 100644 --- a/src/tests/Loader/classloader/StaticVirtualMethods/TypeHierarchy/Generator/generatetest.csproj +++ b/src/tests/Loader/classloader/StaticVirtualMethods/TypeHierarchy/Generator/generatetest.csproj @@ -1,6 +1,6 @@ Exe - net6.0 + $(NetCoreAppCurrent) diff --git a/src/workloads/workloads.csproj b/src/workloads/workloads.csproj index f64d641604674d..bc88c8f45dbb9b 100644 --- a/src/workloads/workloads.csproj +++ b/src/workloads/workloads.csproj @@ -137,9 +137,10 @@ - + +