Add Hermes CI coverage#1736
Draft
CedricGuillemet wants to merge 9 commits into
Draft
Conversation
Point JsRuntimeHost at the Hermes integration branch and add Win32 x64 D3D11 plus Android Hermes CI coverage. Import host Hermes compilers for Android cross-compilation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds CI coverage for the Hermes JavaScript engine by wiring Hermes as a selectable engine in existing CI workflows and updating the Android Playground build to support importing Hermes host compilers.
Changes:
- Point
JsRuntimeHostFetchContent dependency at a Hermes integration branch. - Add Win32 x64 D3D11 + Hermes CI job.
- Add Android (Ubuntu) + Hermes CI job and pass host compiler import into the Android CMake build via Gradle.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
CMakeLists.txt |
Switches JsRuntimeHost source to a Hermes integration branch. |
Apps/Playground/Android/BabylonNative/build.gradle |
Refactors CMake argument construction and adds optional host compiler import argument passing. |
.github/workflows/ci.yml |
Adds Win32 Hermes and Android Ubuntu Hermes jobs to the main CI matrix. |
.github/workflows/build-win32.yml |
Extends engine selection logic to include Hermes (NAPI_JAVASCRIPT_ENGINE=Hermes). |
.github/workflows/build-android.yml |
Builds Hermes host compilers (for Ubuntu Hermes CI) and passes their import script into Gradle. |
Install the Linux host dependency needed by BabylonNative's Hermes host-tool configure and disable Boost.Context for Hermes CI builds to avoid the Windows MASM object link issue. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid configuring BabylonNative's full dependency graph for the Android Hermes host compiler build. Build the host Hermes tools directly from the JsRuntimeHost Hermes integration branch instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expose globalThis and a canvas alias from the native Playground host so evaluated playground snippets can resolve browser-style globals under Hermes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep Win32 Hermes building and running non-visual tests, but skip Playground visual validation until Hermes has the browser-compatible canvas path required by some validation snippets. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Ubuntu clang Hermes coverage, skip visual validation for Hermes Linux builds, and address Copilot review feedback on Gradle quoting plus macOS Ninja availability for Android Hermes host tools. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ubuntu clang Hermes covers configure, build, and UnitTests. Skip ModuleLoadTest for Hermes because its expected boot-module snapshot is engine-specific and currently fails under Hermes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run Playground validation for Win32 Hermes targets so failures are visible in CI while the integration is being brought up. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expose the validation engine and canvas on globalThis so evaluated playground snippets that reference browser-style globals work under Hermes eval scoping. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Notes