Skip to content

Update DNNEVersion to 2.1.0#126847

Open
jtschuster wants to merge 2 commits intomainfrom
users/jtschuster/update-DNNE
Open

Update DNNEVersion to 2.1.0#126847
jtschuster wants to merge 2 commits intomainfrom
users/jtschuster/update-DNNE

Conversation

@jtschuster
Copy link
Copy Markdown
Member

AaronRobinsonMSFT/DNNE#215 was included in version 2.1.0.
Pull in those changes to fix #126673.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the DNNE NuGet dependency version used by runtime test assets to pick up fixes shipped in DNNE 2.1.0 (notably addressing the ARM64 build failure described in #126673).

Changes:

  • Bump DNNEVersion from 2.0.5 to 2.1.0 in the repo’s centralized version properties.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 Copilot Code Review — PR #126847

Note

This review was AI-generated by Copilot.

Holistic Assessment

Motivation: Well-justified. Issue #126673 documents real CI build failures on ARM64 legs caused by DNNE 2.0.5's hardcoded bin\Hostx64 paths. The upstream fix (AaronRobinsonMSFT/DNNE#215) was merged and shipped in DNNE 2.1.0.

Approach: Correct — bumping the centralized version property in eng/Versions.props is the standard mechanism for dependency updates in this repo. DNNE is only consumed by test assets (NativeExports.csproj), so the blast radius is limited to test infrastructure.

Summary: ✅ LGTM. This is a minimal, well-motivated one-line version bump that fixes a known CI failure on ARM64. No production code is affected. CI will validate that the new DNNE version integrates correctly.


Detailed Findings

✅ Correctness — Version bump is properly scoped

The change modifies only <DNNEVersion> in eng/Versions.props (line 137), which is the single source of truth for DNNE's version. The only consumer is src/libraries/System.Runtime.InteropServices/tests/TestAssets/NativeExports/NativeExports.csproj (line 33: <PackageReference Include="DNNE" Version="$(DNNEVersion)" />). No other build files or projects reference DNNE.

✅ Motivation verified — Upstream fix addresses the reported issue

The linked issue (#126673) shows cl.exe invocations with bin\Hostx64\arm64\cl.exe paths failing with exit code 3 on ARM64 CI legs. The upstream DNNE PR #215 ("Fix hard-coded Hostx64 path to support arm64 and x86 hosts") directly addresses this by dynamically resolving the host architecture directory. The fix was authored by the same PR author (jtschuster) and merged on Apr 11, 2026.

✅ Risk assessment — Low risk, test-only impact

DNNE is used exclusively in test assets for System.Runtime.InteropServices interop generator tests. A version bump from 2.0.5 → 2.1.0 (minor version) is expected to be backward compatible. Even in the unlikely event of a regression, it would only affect test compilation, not production runtime code. CI will serve as the definitive validation.

💡 Observation — armel exclusion still applies

src/libraries/tests.proj excludes LibraryImportGenerator tests on armel because "DNNE does not support armel." This exclusion remains valid and unaffected by the version bump.

Generated by Code Review for issue #126847 ·

DNNE 2.1.0 includes a source generator (DNNE.AttributesGenerator) that
auto-generates C99DeclCodeAttribute and C99TypeAttribute. The manual
definitions in SharedTypes/DNNE.cs conflict with these generated types,
causing CS0436 build errors. Remove the manual definitions since DNNE
now provides them.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MichalStrehovsky
Copy link
Copy Markdown
Member

/azp run runtime-nativeaot-outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

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

Labels

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Failure building DNNE on ARM64 legs

4 participants