| summary | CI model for combined Pika + RMP lanes and nightly platform checks | ||
|---|---|---|---|
| read_when |
|
RMP checks are integrated into the repo's single CI entrypoint, not a separate workflow.
- Canonical orchestrator: the forge on
git.pikachat.org - Authoritative lane catalog and path filters:
crates/pikaci/src/forge_lanes.rs - Internal lanes:
check-pika: existing app checks viajust pre-merge-pikacheck-rmp: RMP template/CLI checks viajust pre-merge-rmp
just pre-merge-rmp is Linux-safe and validates:
rmp initscaffolding (default, android-only, ios-only)- generated project Rust core compilation (
cargo check -p pika_core)
- Canonical scheduler: the forge service on
git.pikachat.org - Authoritative lane catalog:
crates/pikaci/src/forge_lanes.rs - Linux lane (
nightly-linux):just rmp-nightly-linux- scaffolds project
- ensures Android AVD
- runs
rmp run androidin CI/headless mode - runs
rmp run icedunderxvfb-runwith timeout (headless desktop smoke)
- macOS lane (
nightly-macos-ios):just rmp-nightly-macos- scaffolds project
- runs on WarpBuild macOS (
warp-macos-15-arm64-6x) - restores Nix binaries via
DeterminateSystems/magic-nix-cache-action - restores Cargo/target via
WarpBuilds/cache - runs
rmp run ioson a simulator
Retained manual-only macOS compatibility smoke:
just nightly-primal-ios-interop- intentionally outside CI-owned nightly coverage
- retained as a checked-in manual compatibility canary
- still useful when you want to build + install Primal iOS from source at a pinned ref, verify simulator routing for
nostrconnect://viasimctl openurl, and run the Pika-side signer/interop smoke - policy truth lives in
docs/testing/integration-matrix.md,docs/testing/ci-selectors.md, anddocs/testing/manual-qa-gate.md
rmp run androidnow allows headless emulators in CI (CI=1orRMP_ANDROID_ALLOW_HEADLESS=1).- The generated project intentionally keeps MVP internal names aligned with current
rmp run/rmp bindingsassumptions for fast iteration.