From 9f981ca47e735d517960ba64fa74d3799e18c368 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 18 Aug 2026 10:15:48 -0400 Subject: [PATCH] ci-requirements: the Android lane has an image again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ci-tauri-android` was repurposed into `ci-rust-android:1.97` rather than deleted (CI-runner dc802f2, PR #12) — tauri-cli out, cargo-ndk in, ktlint and detekt added so the Kotlin analyzer lane needs no second image, and JDK 25 now that we hand-write the Gradle project instead of letting Tauri generate one. Two things recorded here because they are constraints ON THIS REPO, not on the image: our Gradle wrapper has to be 9.1+ for that JDK, and the Rust pin is in lockstep with ci-tauri and ci-tauri-win because all three build thoughtsync-core from one workspace Cargo.lock under --locked. M12 step 3 (Scribe #2732). No workflow consumes the image yet; the lane arrives with the app skeleton. Co-Authored-By: Claude Opus 5 (1M context) --- ci-requirements.md | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/ci-requirements.md b/ci-requirements.md index a443498..a0e4e6b 100644 --- a/ci-requirements.md +++ b/ci-requirements.md @@ -159,14 +159,27 @@ backend/frontend push. - No Postgres lane (unchanged): the desktop app's local store + sync behavior is verified on the operator's machine, not in CI. -## Android lane — REMOVED 2026-08-17 +## Android lane — being rebuilt (M12) The Tauri-mobile Android lane is gone. Android is a native Kotlin/Compose client over the shared `thoughtsync-core` crate instead — see Scribe note 2730 for the -decision and milestone M12 for the arc. Its CI lane and image will be rebuilt on -that basis; `ci-tauri-android` is being repurposed (drop `tauri-cli`, add -`cargo-ndk`) rather than deleted, because its NDK binutils symlinks and PATH fix -are load-bearing for any Rust-on-Android cross-compile. +decision and milestone M12 for the arc. + +The image it will run on already exists: **`ci-rust-android:1.97`**, repurposed +from `ci-tauri-android` rather than deleted (CI-runner `dc802f2`, Scribe #2732). +`tauri-cli` is out and `cargo-ndk` is in; the NDK binutils symlinks and the PATH +append stayed, because they were never Tauri problems — NDK r23 removed the +triple-prefixed binutils that autotools, and so vendored OpenSSL, invokes by bare +name. It also carries `ktlint` + `detekt` so the Kotlin analyzer lane needs no +second image, and JDK 25 (which requires **Gradle 9.1+** in this repo's wrapper — +the old JDK 17 pin existed only because Tauri generated a Gradle 8.x project). + +The Rust pin is in LOCKSTEP with `ci-tauri` and `ci-tauri-win`. All three build +`thoughtsync-core` from one workspace `Cargo.lock` under `--locked`, so a +mismatched Rust minor across the lanes would mean divergent resolution for no +reason. Bump the three together or not at all. + +No workflow consumes it yet; the lane arrives with the app skeleton (M12 step 5). ## Formatting the Rust lane before pushing