Skip to content

ci: run :ondeviceai + :coachapi tests in CI (js/wasm/desktop/iosSim)#93

Merged
ber4444 merged 1 commit into
mainfrom
ci/wire-ondeviceai-coachapi-tests
Jul 15, 2026
Merged

ci: run :ondeviceai + :coachapi tests in CI (js/wasm/desktop/iosSim)#93
ber4444 merged 1 commit into
mainfrom
ci/wire-ondeviceai-coachapi-tests

Conversation

@ber4444

@ber4444 ber4444 commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Context

The :ondeviceai and :coachapi KMP modules both declare `js(IR)` and `iosSimulatorArm64` targets (the JS targets exist so the React Native port can consume the published artifacts). But no CI job invoked their `check` or `iosSimulatorArm64Test` tasks — they were built for publish only, so their tests ran nowhere. Only `:chess-core`'s JS/iOS tests ran in CI (via `chess-core:check` / the apple job).

A JS-specific or iOS-specific regression in either module would land green.

Change

Two surgical additions to existing Gradle invocations in `.github/workflows/android-tests.yml`:

  • Linux job — added `:ondeviceai:check :coachapi:check` to the build command. This pulls in their `jsNodeTest`, `wasmJsBrowserTest`, `desktopTest`, and androidHost test variants (same surface `chess-core:check` already covers for the core).
  • Apple job (`apple-kotlin`) — added `:ondeviceai:iosSimulatorArm64Test :coachapi:iosSimulatorArm64Test` to the `--parallel` invocation. Both read `-PiosSimulatorDeviceId` (`ondeviceai` explicitly at `onDeviceAi/build.gradle.kts:96`; `coachapi` via KGP default, same as `chess-core`), so they reuse the existing `iPhone 16` simulator the job already provisions.

No new setup needed — the wasmJs browser tests use the same Chrome the ubuntu runner already provides for `chess-core:check`/`app:check`, and the iOS tasks reuse the existing simulator.

Validation

  • `./gradlew :ondeviceai:jsNodeTest :coachapi:jsNodeTest` → `BUILD SUCCESSFUL` (15 tasks executed)
  • Dry-run confirmed `:jsNodeTest` resolves for all three modules in a combined invocation
  • Dry-run confirmed both `iosSimulatorArm64Test` tasks resolve with `-PiosSimulatorDeviceId="iPhone 16"`

Coverage after this PR

Module Linux (`check`) Apple (`iosSimulatorArm64Test`)
`:chess-core` js, wasmJs, desktop, androidHost desktop
`:ondeviceai` js, wasmJs, desktop, androidHost ✨ iosSim ✨
`:coachapi` js, wasmJs, desktop, androidHost ✨ iosSim ✨
`:app` wasmJs, desktop, androidHost iosSim, desktop

✨ = new coverage added by this PR.

Note: the Apple job does not run `chess-core:iosSimulatorArm64Test` — that's a pre-existing gap (the core's iOS tests run via `desktopTest` only there), untouched by this PR.

@ber4444
ber4444 merged commit e6b72ad into main Jul 15, 2026
14 of 15 checks passed
@ber4444
ber4444 deleted the ci/wire-ondeviceai-coachapi-tests branch July 15, 2026 00:18
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.

1 participant