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 @@
-
+
+