Skip to content

keep-android: CI tooling + RMP self-verification #414

Description

@kwsantiago

keep-android build/CI and architecture follow-ups. Two of the three original sub-tasks are done; the body is narrowed so they are not re-verified.

Break out individual PRs as you tackle them.

Remaining

Move the NIP-55 get_public_key self-verification into the Rust Nip55Handler. Worth settling the design before implementing, because the current split may be deliberate. Today the Kotlin side compares the handler's returned pubkey against the stored group pubkey read from a different source (the keystore share metadata), in both the background provider and the foreground activity. Folding both sides into Rust means the value being verified and the value it is checked against come from the same place, which removes the independent second source that makes the check meaningful. If the goal is deduplication rather than relocation, a shared Rust helper that still takes the independently-read expected pubkey as a parameter would keep the property.

Done

  • Add an Android cross-compile + UniFFI bindgen CI job. keep's CI android job cross-compiles keep-mobile with cargo-ndk for aarch64-linux-android and then runs uniffi-bindgen generate, asserting the generated keep_mobile.kt exists, so a break surfaces in keep rather than first in this repository.
  • Enforce NDK / cargo-ndk pin consistency between keep and keep-android. scripts/check-toolchain-pins.sh runs in this repository's CI and cross-checks the vendored keep checkout's NDK and cargo-ndk versions against this repository's, so bumping keep.version to a commit with different pins fails CI instead of drifting silently. It also validates the Dockerfile, Gradle and workflow pins against each other.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp2Priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions