Skip to content

Add linux_arm and windows_x86 to cDAC dump test platforms#125793

Merged
max-charlamb merged 11 commits into
dotnet:mainfrom
max-charlamb:cdac-dumptests-32bit
Mar 25, 2026
Merged

Add linux_arm and windows_x86 to cDAC dump test platforms#125793
max-charlamb merged 11 commits into
dotnet:mainfrom
max-charlamb:cdac-dumptests-32bit

Conversation

@max-charlamb

@max-charlamb max-charlamb commented Mar 19, 2026

Copy link
Copy Markdown
Member

Adds 32-bit platform coverage to the cDAC dump test Helix infrastructure:

  • windows_x86: Runs on Windows.11.Amd64.Client.Open via WoW64 (same queue as x64)
  • linux_arm: Runs on containerized ARM32 Helix queue (helix_linux_arm32_oldest — Debian on ARM64 hardware)

Depends on #125841 which fixes cDAC dump tests on 32-bit ARM targets.

Changes

  • eng/pipelines/cdac/prepare-cdac-helix-steps.yml: Added queue switch cases for windows_x86 and linux_arm
  • eng/pipelines/runtime-diagnostics.yml: Added linux_arm and windows_x86 to cdacDumpPlatforms defaults, publish dump artifacts on test failure
  • src/native/managed/cdac/tests/DumpTests/EnableUnsignedDac.props: Extracted shared unsigned DAC registry logic with WoW64 /reg:32 support for x86
  • src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj: Preserve test exit code through tar command, import shared DAC props

Testing

CI validates all 6 platforms: windows_x64, windows_x86, windows_arm64, linux_x64, linux_arm64, linux_arm.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds 32-bit platform coverage to the cDAC dump test Helix infrastructure by enabling windows_x86 and linux_arm as first-class platforms in the runtime diagnostics pipeline, ensuring dump generation/testing exercises more architecture combinations.

Changes:

  • Expanded cdacDumpPlatforms defaults to include windows_x86 and linux_arm.
  • Added a Helix platforms variable for helix_windows_x86.
  • Updated cDAC Helix queue selection logic to route windows_x86 and linux_arm to appropriate queues.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
eng/pipelines/runtime-diagnostics.yml Adds windows_x86 and linux_arm to the default cDAC dump test platform list.
eng/pipelines/helix-platforms.yml Introduces a Helix queue variable for Windows x86 runs (via WoW64 on x64 machines).
eng/pipelines/cdac/prepare-cdac-helix-steps.yml Extends the platform→Helix-queue mapping to support windows_x86 and linux_arm.

Comment thread eng/pipelines/helix-platforms.yml Outdated
Copilot AI review requested due to automatic review settings March 19, 2026 21:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands cDAC dump-test Helix coverage to include two additional 32-bit target platforms (Windows x86 via WoW64 and Linux ARM32 via containerized Helix queues), and adds infrastructure to make dump artifacts easier to retrieve from Helix runs.

Changes:

  • Add windows_x86 and linux_arm to the default cdacDumpPlatforms matrix in the runtime diagnostics pipeline.
  • Extend cDAC Helix queue selection logic to map windows_x86 and linux_arm to appropriate Helix queues.
  • Add dump tarball upload/download wiring for cDAC dump tests.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Adds tar creation/upload + attempts to download dumps.tar.gz from Helix results for dump tests/dumpgen.
eng/pipelines/runtime-diagnostics.yml Adds windows_x86/linux_arm to cDAC dump platform defaults; quotes Helix queue param; publishes Helix results on failure for single-leg runs.
eng/pipelines/helix-platforms.yml Introduces a helix_windows_x86 queue alias (WoW64 on x64 Windows 10 queue).
eng/pipelines/cdac/prepare-cdac-helix-steps.yml Adds queue switch cases for windows_x86 and linux_arm.

Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated
Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated
Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Comment thread eng/pipelines/cdac/prepare-cdac-helix-steps.yml
Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated
Copilot AI review requested due to automatic review settings March 20, 2026 18:31
@max-charlamb max-charlamb force-pushed the cdac-dumptests-32bit branch from bd65a1a to 39eeff7 Compare March 20, 2026 18:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated
Comment thread src/native/managed/cdac/tests/DumpTests/cdac-dump-helix.proj Outdated
Comment thread eng/pipelines/cdac/prepare-cdac-helix-steps.yml
max-charlamb and others added 2 commits March 20, 2026 15:46
Add 32-bit platform coverage to the cDAC dump test Helix infrastructure:
- windows_x86: runs on Windows.10.Amd64.Open via WoW64
- linux_arm: runs on containerized ARM32 Helix queue (Debian on ARM64)

Also adds helix_windows_x86 variable to helix-platforms.yml for
queue name centralization.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The containerized ARM32 queue name contains parentheses which bash
interprets as subshell syntax. Quoting the /p:HelixTargetQueues
argument prevents this.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

… unused variable

- Windows: save test ERRORLEVEL before tar runs, exit /b 1 if tests failed
- Unix: capture test exit code in _rc before tar, exit with it after
- Fix comment that incorrectly said tar runs only on failure
- Remove unused helix_windows_x86 variable from helix-platforms.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 24, 2026 19:04
@max-charlamb max-charlamb force-pushed the cdac-dumptests-32bit branch from f99432d to 8fd98e7 Compare March 24, 2026 19:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Comment thread src/native/managed/cdac/tests/DumpTests/DumpTests.targets
max-charlamb and others added 2 commits March 25, 2026 10:39
The file contains a Target element, so .targets is the correct
extension per MSBuild convention. It's a separate file because
both DumpTests.targets and cdac-dump-helix.proj import it — the
former uses the target for local builds, the latter uses the
properties for Helix pre-commands.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s.targets

EnableUnsignedDac.props now contains only shared properties
(DacRegAdd, DacRegAdd32) without the underscore prefix since
they are the public interface. The _EnableUnsignedDacWindows
target stays in DumpTests.targets where it belongs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 25, 2026 14:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment thread src/native/managed/cdac/tests/DumpTests/DumpTests.targets Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 25, 2026 16:10
@max-charlamb

Copy link
Copy Markdown
Member Author

/ba-g cDAC only pipeline change

@max-charlamb max-charlamb merged commit deb317e into dotnet:main Mar 25, 2026
17 of 18 checks passed
@max-charlamb max-charlamb deleted the cdac-dumptests-32bit branch March 25, 2026 16:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants