Skip to content

Add the openharmony RIDs and skip repo-side NativeAOT for openharmony - #69952

Open
springmin wants to merge 1 commit into
dotnet:mainfrom
springmin:pr/ohos-aspnet-rids-rebuild
Open

springmin wants to merge 1 commit into
dotnet:mainfrom
springmin:pr/ohos-aspnet-rids-rebuild

Conversation

@springmin

Copy link
Copy Markdown

Summary

Add openharmony-arm64/openharmony-x64 to the shared-framework supported
RIDs, the explicit runtime/crossgen2 package list, and the bundled-tool RIDs.
Skip repo-side NativeAOT for openharmony: the repository's bundled tools and
E2E AOT harnesses do not have the OpenHarmony cross-AOT toolchain wired up.
This does not affect user AOT publishing, which uses the runtime ILCompiler
pack.

Changes

  • Directory.Build.props: add the two openharmony RIDs to
    SupportedRuntimeIdentifiers, and set NativeAotSupported=false when the
    target OS or runtime identifier is openharmony (repo-side tools and E2E
    harnesses only).
  • Directory.Packages.props: add Microsoft.NETCore.App.Runtime.openharmony-*
    and Microsoft.NETCore.App.Crossgen2.openharmony-* to the explicit runtime
    package list.
  • src/Tools/Directory.Build.props: add the openharmony RIDs to
    BundledToolTargetRuntimeIdentifiers.
  • src/Components/Testing/testassets/NativeAotTestApp/NativeAotTestApp.csproj
    and .../PackageConsumer/App/PackageConsumer.App.csproj: skip PublishAot
    for openharmony in the E2E AOT harnesses.
  • Five files, 17 insertions and 4 deletions.

Impact

  • OpenHarmony only; other platforms keep their RID lists and NativeAOT setup.
  • The shared framework is produced with crossgen2 and is unchanged. NativeAOT
    is skipped only for the repository's own tools and E2E harnesses; user AOT
    publishing is served by the runtime ILCompiler pack.
  • The RIDs come from the runtime RID graph added in Add OpenHarmony/HarmonyOS build infrastructure runtime#132953.

Follow-up

Repo-side AOT for openharmony can be enabled once the runtime ILCompiler pack
for the pinned version and the OpenHarmony cross-AOT toolchain (NDK/lld, see
the prereqs image discussion) are available to the build.

Test

  1. Build for openharmony-arm64: the shared framework and bundled tools
    resolve the openharmony RIDs; repo-side NativeAOT is not attempted.
  2. The E2E AOT harnesses skip PublishAot on openharmony.
  3. CI runs the regular build/test legs for the change.

Note

This PR was authored with AI assistance (agent tooling) under the author's direction.

- Directory.Build.props: add openharmony-x64/arm64 to the shared-framework
  supported RIDs, and set NativeAotSupported=false for openharmony: the repo's
  bundled tools and E2E AOT harnesses do not have the OpenHarmony cross-AOT
  toolchain wired up. This does not affect user AOT publishing, which uses the
  runtime ILCompiler pack.
- Directory.Packages.props: add the openharmony runtime and crossgen2 packages
  to the explicit runtime package list.
- src/Tools/Directory.Build.props: add the openharmony RIDs to the bundled
  tool RIDs.
- The E2E NativeAOT harnesses skip PublishAot for openharmony.
@springmin
springmin requested a review from a team as a code owner October 21, 2026 02:15
@github-actions github-actions Bot added area-blazor Includes: Blazor, Razor Components area-commandlinetools Includes: Command line tools, dotnet-dev-certs, dotnet-user-jwts, and OpenAPI area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework labels Oct 21, 2026
@dotnet-policy-service dotnet-policy-service Bot added the community-contribution Indicates that the PR has been added by a community member label Oct 21, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Thanks for your PR, @springmin. Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at.

This branch has not been deployed

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

Labels

area-blazor Includes: Blazor, Razor Components area-commandlinetools Includes: Command line tools, dotnet-dev-certs, dotnet-user-jwts, and OpenAPI area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant