android: add JVM unit-test CI safety net #227

Open
android wants to merge 1 commit from android/ci-unit-tests into main
Member

Summary

  • add bazel/android/runner.sh test for :Android:testDebugUnitTest without preparing the Swift bridge
  • add JUnit 4.13.2 and pure-JVM coverage for WebDAV path helpers plus device mTLS hash/base64 helpers
  • run Android CI on relevant main pushes and pull requests, with unit tests before the existing artifact build

This is the Android CI safety net for the KSE-0186 runner path. It does not change release, signing, Play/F-Droid publishing, or secrets.

Validation

  • Scripts/ci/workflow-yaml-guard.sh — passes (31 workflow files, no duplicate mapping keys)
  • bash -n bazel/android/runner.sh — passes
  • git diff --check — passes
  • nix develop .#android-ci --command bazel/android/runner.sh test — could not realize locally because the resident sandbox mounts the shared Nix fetcher cache read-only (fetcher-cache-v4.sqlite: attempt to write a readonly database); relying on this PR's Build: Android run as the binding gate, per task direction

Coordination

PR #153 (claude/w6-android-02-optional) remains open and unmerged as of September 6, 2026. Its only overlapping file is Android/build.gradle.kts; this change is a single dependency-line addition and will be rebase-checked if #153 lands first.

Redmine: #20

## Summary - add `bazel/android/runner.sh test` for `:Android:testDebugUnitTest` without preparing the Swift bridge - add JUnit 4.13.2 and pure-JVM coverage for WebDAV path helpers plus device mTLS hash/base64 helpers - run Android CI on relevant `main` pushes and pull requests, with unit tests before the existing artifact build This is the Android CI safety net for the KSE-0186 runner path. It does not change release, signing, Play/F-Droid publishing, or secrets. ## Validation - `Scripts/ci/workflow-yaml-guard.sh` — passes (31 workflow files, no duplicate mapping keys) - `bash -n bazel/android/runner.sh` — passes - `git diff --check` — passes - `nix develop .#android-ci --command bazel/android/runner.sh test` — could not realize locally because the resident sandbox mounts the shared Nix fetcher cache read-only (`fetcher-cache-v4.sqlite: attempt to write a readonly database`); relying on this PR's `Build: Android` run as the binding gate, per task direction ## Coordination PR #153 (`claude/w6-android-02-optional`) remains open and unmerged as of September 6, 2026. Its only overlapping file is `Android/build.gradle.kts`; this change is a single dependency-line addition and will be rebase-checked if #153 lands first. Redmine: [#20](https://todo.key.store/issues/20)
android: add JVM unit-test CI safety net
All checks were successful
Build: Android / Build (Android) (pull_request) Successful in 2m36s
ca3a543e42
founder approved these changes 2026-09-13 12:10:40 +00:00
founder left a comment

Founder sign-off, recorded by Codex at Conrad’s explicit request on 2026-09-13: this first-work-wave change is approved. Resolve any conflicts and satisfy the required checks before merging. This records the founder’s approval; it does not assert that failing checks have passed.

Founder sign-off, recorded by Codex at Conrad’s explicit request on 2026-09-13: this first-work-wave change is approved. Resolve any conflicts and satisfy the required checks before merging. This records the founder’s approval; it does not assert that failing checks have passed.
All checks were successful
Build: Android / Build (Android) (pull_request) Successful in 2m36s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin android/ci-unit-tests:android/ci-unit-tests
git switch android/ci-unit-tests
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!227
No description provided.