Skip to content

CI: add an OpenHarmony arm64 build leg - #136206

Draft
springmin wants to merge 11 commits into
dotnet:mainfrom
springmin:pr/ohos-ci-leg
Draft

springmin wants to merge 11 commits into
dotnet:mainfrom
springmin:pr/ohos-ci-leg

Conversation

@springmin

@springmin springmin commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add an openharmony_arm64 platform and a clr.runtime+libs.native job. The job downloads the OpenHarmony 6.0-Release SDK, builds the target-side static OpenSSL 3.3.1 and ICU 75.1, and cross-builds the runtime.

Motivation

The OpenHarmony port can cross-build with the SDK, but the runtime pipeline has no leg for it. A validation run validates the same recipe:

The download/asset build is a temporary fallback. The preferred long-term setup is the prereqs image requested in dotnet/dotnet-buildtools-prereqs-docker#1778 (SDK/NDK plus static OpenSSL and ICU). Once that image exists, the preBuildSteps block can be replaced with a container reference.

Notes

  • The job builds clr.runtime+libs.native rather than the default subsets to keep the leg focused.
  • The first CI run is also the first validation of the pipeline YAML; the validation run covers only the build recipe.
  • OHOS_NDK_HOME and the CMAKE_ICU_DIR/OPENSSL_* paths are passed through pipeline variables.
  • The job is gated like the other verticals (path changes or rolling builds).
  • The SDK, OpenSSL, and ICU tarballs are SHA-256 pinned.

Note

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

Adds an openharmony_arm64 platform and a clr.runtime+libs.native job. The job
downloads the 6.0-Release SDK and builds the target ICU/OpenSSL assets until
the prereqs image from dotnet-buildtools-prereqs-docker#1778 is available.
@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
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 5 pipeline(s).
11 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

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

@jkoritzinsky jkoritzinsky left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we add this job to the runtime-community pipeline instead of the runtime pipeline?

@springmin

Copy link
Copy Markdown
Contributor Author

Moved the OHOS leg to runtime-community.yml; runtime.yml no longer adds
it. platform-matrix.yml and setup-ohos-assets.sh are unchanged.

@springmin

Copy link
Copy Markdown
Contributor Author

/azp run runtime-community

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 136206 in repo dotnet/runtime

@springmin

Copy link
Copy Markdown
Contributor Author

@jkoritzinsky Moved the OHOS leg to runtime-community.yml in 441c78d2dd. I can't trigger the community pipeline from the fork: /azp run runtime-community returns insufficient privileges, and a manual Azure UI run would use Manual instead of PullRequest and skip the EvaluatePaths stage.

Could you run /azp run runtime-community for this PR when you have a moment? Also, would it be possible to get permission to queue the runtime-community pipeline (definition 148) for a PR ref, or is /azp run the only supported path for external contributors? I'd be glad to run it myself for future changes if there is a supported way.

Note

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

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-Infrastructure community-contribution Indicates that the PR has been added by a community member

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants