Skip to content

ci: run the native engine's unit tests on pull requests into fullnative-dev - #76

Merged
rferrari merged 2 commits into
rferrari:fullnative-devfrom
bgrana75:ci/native-engine-tests
Oct 10, 2026
Merged

rferrari merged 2 commits into
rferrari:fullnative-devfrom
bgrana75:ci/native-engine-tests

Conversation

@bgrana75

Copy link
Copy Markdown

CI: run the native engine's unit tests on pull requests into fullnative-dev

Nothing in CI builds or tests android-native/, so a native change can only be checked by someone with a local Android toolchain. This adds a native-engine job to .github/workflows/ci.yml:

  • runs cd android-native && ./gradlew :engine:testDebugUnitTest;
  • only on pull requests into fullnative-dev (if: github.base_ref == 'fullnative-dev'); the TypeScript job is unchanged;
  • JDK 17 (Temurin), the Android SDK (android-actions/setup-android), and the NDK and CMake versions pinned in engine/build.gradle.kts, read from that file so they can't drift (today NDK 27.1.12297006, CMake 3.22.1);
  • checks out the llama.cpp and zstd submodules;
  • caches Gradle (gradle/actions/setup-gradle);
  • uploads engine/build/reports/tests/ when a test fails.

The job runs on this PR itself, so its result here is the test: it should report the same 99 passing tests as a local run.

I haven't run Gradle locally (no Android toolchain on this machine), and no CodeRabbit CLI review was run before pushing (cr isn't installed here).

…ve-dev

Nothing built or tested android-native/ in CI, so a native change could only be checked with a
local Android toolchain. The native-engine job runs ./gradlew :engine:testDebugUnitTest with JDK 17,
the NDK and CMake versions pinned in engine/build.gradle.kts (read from it), the llama.cpp and zstd
submodules, and a Gradle cache. It uploads the test report when a test fails.
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f340c0f2-c257-487e-af64-7d4c7acf2716

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The app module has no unit tests, so a change to it (ChatViewModel, screens) was checked by nothing.
:app:compileDebugKotlin catches code that no longer builds, without the native library build.
@rferrari

Copy link
Copy Markdown
Owner

Approve. Checked locally with #77–#80 merged on top of fullnative-dev (fc6b923):
:engine:testDebugUnitTest 112/112 and :app:compileDebugKotlin pass. Reading the NDK and
CMake versions from engine/build.gradle.kts is a good call. The fork's runs need a
maintainer's approval before they start; I'll approve them before merging.

@rferrari
rferrari merged commit 6d4ddf0 into rferrari:fullnative-dev Oct 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants