diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index aa1fc14119..c7d2e2a229 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -1 +1,63 @@
-
+
+
+
+
+
+ 4.0.0-beta.25381.2
+ 4.0.0-beta.25381.2
+
+ 1.0.105-preview.225
+
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 5.0.0-2.25411.106
+ 5.0.0-2.25411.106
+ 5.0.0-2.25411.106
+ 10.0.0-preview.25411.106
+ 10.0.0-beta.25411.106
+ 10.0.0-beta.25411.106
+ 10.0.100-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+ 10.0.0-rc.1.25411.106
+
+ 7.0.0-beta.22316.2
+
+
+
+
+ $(MicrosoftDiagnosticsRuntimePackageVersion)
+ $(MicrosoftDiagnosticsRuntimeUtilitiesPackageVersion)
+
+ $(XamarinAndroidToolsAndroidSdkPackageVersion)
+
+ $(MicrosoftAspNetCoreAppRefPackageVersion)
+ $(MicrosoftAspNetCoreAppRefInternalPackageVersion)
+ $(MicrosoftCodeAnalysisPackageVersion)
+ $(MicrosoftCodeAnalysisAnalyzersPackageVersion)
+ $(MicrosoftCodeAnalysisCSharpPackageVersion)
+ $(MicrosoftCodeAnalysisNetAnalyzersPackageVersion)
+ $(MicrosoftDotNetArcadeSdkPackageVersion)
+ $(MicrosoftDotNetCodeAnalysisPackageVersion)
+ $(MicrosoftNETSdkPackageVersion)
+ $(MicrosoftNETCoreAppRefPackageVersion)
+ $(MicrosoftNETCorePlatformsPackageVersion)
+ $(runtimelinuxarm64MicrosoftDotNetCdacTransportPackageVersion)
+ $(runtimelinuxx64MicrosoftDotNetCdacTransportPackageVersion)
+ $(runtimeosxarm64MicrosoftDotNetCdacTransportPackageVersion)
+ $(runtimeosxx64MicrosoftDotNetCdacTransportPackageVersion)
+ $(runtimewinarm64MicrosoftDotNetCdacTransportPackageVersion)
+ $(runtimewinx64MicrosoftDotNetCdacTransportPackageVersion)
+
+ $(MicrosoftDotNetRemoteExecutorPackageVersion)
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 05d18eeebb..d5e0ac203d 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,5 +1,5 @@
-
+
https://github.com/microsoft/clrmd
@@ -15,77 +15,88 @@
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
https://github.com/dotnet/arcade
ccfe6da198c5f05534863bbb1bff66e830e0c6ab
-
+
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
+
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
-
+
https://github.com/dotnet/dotnet
- eaa19c281d34580a8168cff9ce1e7337da8bfe4f
+ c583c4456a81cbdf34656b5bf1a01abfc65590da
diff --git a/eng/Versions.props b/eng/Versions.props
index 0c87ffac26..b19162dbc7 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,4 +1,5 @@
+
https://github.com/dotnet/diagnostics
preview
@@ -14,27 +15,6 @@
-->
true
-
-
-
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
-
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
-
- 10.0.100-preview.7.25351.106
-
-
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
- 10.0.0-preview.7.25351.106
-
false
@@ -48,7 +28,6 @@
8.0.0
6.0.0
- 4.0.0-beta.25381.2
17.10.0-beta1.24272.1
3.1.23
6.0.0
@@ -66,23 +45,16 @@
8.0.0
8.0.5
2.0.3
- 10.0.0-beta.25351.106
1.2.0-beta.556
- 7.0.0-beta.22316.2
10.0.26100.1
13.0.1
- 10.0.622304
- 1.0.105-preview.225
- 5.0.0-1.25351.106
- 5.0.0-1.25351.106
- 4.11.0-2.24271.11
3.11.0
@@ -95,8 +67,6 @@
4.4.0
4.8.0
$(MicrosoftCodeAnalysisVersion)
- 5.0.0-1.25351.106
- 10.0.0-preview.25351.106
diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml
index 6badecba7b..d901325154 100644
--- a/eng/common/core-templates/job/job.yml
+++ b/eng/common/core-templates/job/job.yml
@@ -20,6 +20,7 @@ parameters:
artifacts: ''
enableMicrobuild: false
enableMicrobuildForMacAndLinux: false
+ microbuildUseESRP: true
enablePublishBuildArtifacts: false
enablePublishBuildAssets: false
enablePublishTestResults: false
@@ -128,6 +129,7 @@ jobs:
parameters:
enableMicrobuild: ${{ parameters.enableMicrobuild }}
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
+ microbuildUseESRP: ${{ parameters.microbuildUseESRP }}
continueOnError: ${{ parameters.continueOnError }}
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml
index 8034815f42..8bf7d23355 100644
--- a/eng/common/core-templates/job/onelocbuild.yml
+++ b/eng/common/core-templates/job/onelocbuild.yml
@@ -4,7 +4,7 @@ parameters:
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
pool: ''
-
+
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
@@ -27,7 +27,7 @@ parameters:
is1ESPipeline: ''
jobs:
- job: OneLocBuild${{ parameters.JobNameSuffix }}
-
+
dependsOn: ${{ parameters.dependsOn }}
displayName: OneLocBuild${{ parameters.JobNameSuffix }}
@@ -99,22 +99,20 @@ jobs:
mirrorBranch: ${{ parameters.MirrorBranch }}
condition: ${{ parameters.condition }}
- - template: /eng/common/core-templates/steps/publish-build-artifacts.yml
- parameters:
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
- args:
- displayName: Publish Localization Files
- pathToPublish: '$(Build.ArtifactStagingDirectory)/loc'
- publishLocation: Container
- artifactName: Loc
- condition: ${{ parameters.condition }}
+ # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact
+ - task: CopyFiles@2
+ displayName: Copy LocProject.json
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/eng/Localize/'
+ Contents: 'LocProject.json'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)/loc'
+ condition: ${{ parameters.condition }}
- - template: /eng/common/core-templates/steps/publish-build-artifacts.yml
+ - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
args:
- displayName: Publish LocProject.json
- pathToPublish: '$(Build.SourcesDirectory)/eng/Localize/'
- publishLocation: Container
- artifactName: Loc
+ targetPath: '$(Build.ArtifactStagingDirectory)/loc'
+ artifactName: 'Loc'
+ displayName: 'Publish Localization Files'
condition: ${{ parameters.condition }}
diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml
index bf35b78faa..2f992b2c6e 100644
--- a/eng/common/core-templates/jobs/jobs.yml
+++ b/eng/common/core-templates/jobs/jobs.yml
@@ -83,7 +83,6 @@ jobs:
- template: /eng/common/core-templates/jobs/source-build.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
- allCompletedJobId: Source_Build_Complete
${{ each parameter in parameters.sourceBuildParameters }}:
${{ parameter.key }}: ${{ parameter.value }}
@@ -108,8 +107,6 @@ jobs:
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
- ${{ each job in parameters.jobs }}:
- ${{ job.job }}
- - ${{ if eq(parameters.enableSourceBuild, true) }}:
- - Source_Build_Complete
runAsPublic: ${{ parameters.runAsPublic }}
publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }}
diff --git a/eng/common/core-templates/jobs/source-build.yml b/eng/common/core-templates/jobs/source-build.yml
index df24c948ba..d92860cba2 100644
--- a/eng/common/core-templates/jobs/source-build.yml
+++ b/eng/common/core-templates/jobs/source-build.yml
@@ -2,12 +2,6 @@ parameters:
# This template adds arcade-powered source-build to CI. A job is created for each platform, as
# well as an optional server job that completes when all platform jobs complete.
- # The name of the "join" job for all source-build platforms. If set to empty string, the job is
- # not included. Existing repo pipelines can use this job depend on all source-build jobs
- # completing without maintaining a separate list of every single job ID: just depend on this one
- # server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
- allCompletedJobId: ''
-
# See /eng/common/core-templates/job/source-build.yml
jobNamePrefix: 'Source_Build'
@@ -31,16 +25,6 @@ parameters:
jobs:
-- ${{ if ne(parameters.allCompletedJobId, '') }}:
- - job: ${{ parameters.allCompletedJobId }}
- displayName: Source-Build Complete
- pool: server
- dependsOn:
- - ${{ each platform in parameters.platforms }}:
- - ${{ parameters.jobNamePrefix }}_${{ platform.name }}
- - ${{ if eq(length(parameters.platforms), 0) }}:
- - ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
-
- ${{ each platform in parameters.platforms }}:
- template: /eng/common/core-templates/job/source-build.yml
parameters:
diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml
index f3064a7834..da30e67bc3 100644
--- a/eng/common/core-templates/steps/install-microbuild.yml
+++ b/eng/common/core-templates/steps/install-microbuild.yml
@@ -4,8 +4,16 @@ parameters:
# Enable install tasks for MicroBuild on Mac and Linux
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
enableMicrobuildForMacAndLinux: false
+ # Determines whether the ESRP service connection information should be passed to the signing plugin.
+ # This overlaps with _SignType to some degree. We only need the service connection for real signing.
+ # It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place.
+ # Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod.
+ # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The
+ # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough.
+ microbuildUseESRP: true
# Location of the MicroBuild output folder
microBuildOutputFolder: '$(Build.SourcesDirectory)'
+
continueOnError: false
steps:
@@ -21,19 +29,37 @@ steps:
workingDirectory: ${{ parameters.microBuildOutputFolder }}
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
+ - script: |
+ REM Check if ESRP is disabled while SignType is real
+ if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" (
+ echo Error: ESRP must be enabled when SignType is real.
+ exit /b 1
+ )
+ displayName: 'Validate ESRP usage (Windows)'
+ condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
+ - script: |
+ # Check if ESRP is disabled while SignType is real
+ if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then
+ echo "Error: ESRP must be enabled when SignType is real."
+ exit 1
+ fi
+ displayName: 'Validate ESRP usage (Non-Windows)'
+ condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
+
- task: MicroBuildSigningPlugin@4
displayName: Install MicroBuild plugin
inputs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
- ${{ if and(eq(parameters.enableMicrobuildForMacAndLinux, 'true'), ne(variables['Agent.Os'], 'Windows_NT')) }}:
- azureSubscription: 'MicroBuild Signing Task (DevDiv)'
- useEsrpCli: true
- ${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
- ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
- ${{ else }}:
- ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
+ ${{ if eq(parameters.microbuildUseESRP, true) }}:
+ ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
+ azureSubscription: 'MicroBuild Signing Task (DevDiv)'
+ useEsrpCli: true
+ ${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
env:
TeamName: $(_TeamName)
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 40f0aa8612..d4cfd9ccd8 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -257,7 +257,20 @@ function Retry($downloadBlock, $maxRetries = 5) {
function GetDotNetInstallScript([string] $dotnetRoot) {
$installScript = Join-Path $dotnetRoot 'dotnet-install.ps1'
+ $shouldDownload = $false
+
if (!(Test-Path $installScript)) {
+ $shouldDownload = $true
+ } else {
+ # Check if the script is older than 30 days
+ $fileAge = (Get-Date) - (Get-Item $installScript).LastWriteTime
+ if ($fileAge.Days -gt 30) {
+ Write-Host "Existing install script is too old, re-downloading..."
+ $shouldDownload = $true
+ }
+ }
+
+ if ($shouldDownload) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
$uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
@@ -414,7 +427,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# Locate Visual Studio installation or download x-copy msbuild.
$vsInfo = LocateVisualStudio $vsRequirements
- if ($vsInfo -ne $null) {
+ if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
# Ensure vsInstallDir has a trailing slash
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 3def02a638..c1841c9dfd 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -300,8 +300,29 @@ function GetDotNetInstallScript {
local root=$1
local install_script="$root/dotnet-install.sh"
local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
+ local timestamp_file="$root/.dotnet-install.timestamp"
+ local should_download=false
if [[ ! -a "$install_script" ]]; then
+ should_download=true
+ elif [[ -f "$timestamp_file" ]]; then
+ # Check if the script is older than 30 days using timestamp file
+ local download_time=$(cat "$timestamp_file" 2>/dev/null || echo "0")
+ local current_time=$(date +%s)
+ local age_seconds=$((current_time - download_time))
+
+ # 30 days = 30 * 24 * 60 * 60 = 2592000 seconds
+ if [[ $age_seconds -gt 2592000 ]]; then
+ echo "Existing install script is too old, re-downloading..."
+ should_download=true
+ fi
+ else
+ # No timestamp file exists, assume script is old and re-download
+ echo "No timestamp found for existing install script, re-downloading..."
+ should_download=true
+ fi
+
+ if [[ "$should_download" == true ]]; then
mkdir -p "$root"
echo "Downloading '$install_script_url'"
@@ -328,6 +349,9 @@ function GetDotNetInstallScript {
ExitWithExitCode $exit_code
}
fi
+
+ # Create timestamp file to track download time in seconds from epoch
+ date +%s > "$timestamp_file"
fi
# return value
_GetDotNetInstallScript="$install_script"
diff --git a/global.json b/global.json
index 9c3adfeb03..c43a85fe0f 100644
--- a/global.json
+++ b/global.json
@@ -1,11 +1,11 @@
{
"sdk": {
- "version": "10.0.100-preview.6.25315.102",
+ "version": "10.0.100-rc.1.25411.106",
"allowPrerelease": true,
"rollForward": "major"
},
"tools": {
- "dotnet": "10.0.100-preview.6.25315.102",
+ "dotnet": "10.0.100-rc.1.25411.106",
"runtimes": {
"dotnet": [
"$(MicrosoftNETCoreApp80Version)"
@@ -17,6 +17,6 @@
},
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.5.0",
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25351.106"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25411.106"
}
}
diff --git a/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs b/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs
index 6a97f1ae90..91c0d0d52f 100644
--- a/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs
+++ b/src/Microsoft.Diagnostics.TestHelpers/DotNetBuildDebuggeeTestStep.cs
@@ -200,6 +200,7 @@ protected async Task Restore(string extraArgs, ITestOutputHelper output)
.WithEnvironmentVariable("DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER", "true")
.WithEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", Path.GetDirectoryName(DotNetToolPath))
.WithEnvironmentVariable("DOTNET_INSTALL_DIR", Path.GetDirectoryName(DotNetToolPath))
+ .RemoveEnvironmentVariable("MSBuildExtensionsPath")
.RemoveEnvironmentVariable("MSBuildSDKsPath")
.WithWorkingDirectory(DebuggeeSolutionDirPath)
.WithLog(output)
@@ -247,6 +248,7 @@ protected async Task Build(string dotnetArgs, ITestOutputHelper output)
.WithEnvironmentVariable("DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER", "true")
.WithEnvironmentVariable("DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR", Path.GetDirectoryName(DotNetToolPath))
.WithEnvironmentVariable("DOTNET_INSTALL_DIR", Path.GetDirectoryName(DotNetToolPath))
+ .RemoveEnvironmentVariable("MSBuildExtensionsPath")
.RemoveEnvironmentVariable("MSBuildSDKsPath")
.WithWorkingDirectory(DebuggeeProjectDirPath)
.WithLog(output)
diff --git a/src/SOS/SOS.UnitTests/SOS.cs b/src/SOS/SOS.UnitTests/SOS.cs
index 578e6f609b..4721af56c4 100644
--- a/src/SOS/SOS.UnitTests/SOS.cs
+++ b/src/SOS/SOS.UnitTests/SOS.cs
@@ -302,6 +302,13 @@ public async Task DynamicMethod(TestConfiguration config)
{
throw new SkipTestException("Single file and desktop framework not supported");
}
+
+ if (config.RuntimeFrameworkVersionMajor == 10)
+ {
+ // The clrstack -i -a command regressed on .NET 10 win-x86, so skip this test for now.
+ SOSTestHelpers.SkipIfWinX86(config);
+ }
+
await SOSTestHelpers.RunTest(config, debuggeeName: "DynamicMethod", scriptName: "DynamicMethod.script", Output);
}
@@ -398,6 +405,12 @@ await SOSTestHelpers.RunTest(
[SkippableTheory, MemberData(nameof(SOSTestHelpers.GetConfigurations), "TestName", "SOS.StackAndOtherTests", MemberType = typeof(SOSTestHelpers))]
public async Task StackAndOtherTests(TestConfiguration config)
{
+ if (config.RuntimeFrameworkVersionMajor == 10)
+ {
+ // The clrstack -i -a command regressed on .NET 10 win-x86, so skip this test for now.
+ SOSTestHelpers.SkipIfWinX86(config);
+ }
+
foreach (TestConfiguration currentConfig in TestRunner.EnumeratePdbTypeConfigs(config))
{
// Assumes that SymbolTestDll.dll that is dynamically loaded is the parent directory of the single file app