@@ -144,13 +144,20 @@ since upstream:
144144
145145| Pushed file type | Checks that run automatically (pre-push) |
146146| ---| ---|
147- | ` .ts ` / ` .tsx ` / ` .js ` / ` .jsx ` | eslint, ` tsc --noEmit ` , ` jest --findRelatedTests ` , ` npm run depcruise ` |
148- | ` .swift ` | ` npm run test:ios ` |
149- | ` .kt ` / ` .kts ` | ` npm run test:android ` |
147+ | ` .ts ` / ` .tsx ` / ` .js ` / ` .jsx ` | eslint, ` tsc --noEmit ` , ` jest --findRelatedTests ` , ` npm run depcruise ` , ` npm run knip ` |
148+ | ` .swift ` | SwiftLint, ` npm run test:ios ` |
149+ | ` .kt ` / ` .kts ` | ` compileDebugKotlin ` , ` lintDebug ` , ` npm run test:android ` |
150+ | ` .kt ` / ` .kts ` · ` android/ ` · ` package*.json ` | ** Android build** ` ./gradlew assembleDebug assembleRelease ` |
151+ | ` .swift ` · ` ios/ ` · ` Podfile ` | ** iOS build** (simulator, ` CODE_SIGNING_ALLOWED=NO ` ) |
152+
153+ ** The native builds are a LOCAL pre-push gate, NOT in CI.** The hosted ` android-build ` CI job hung for
154+ 3+ hours on the native C++ builds and was removed; both builds now run on push (scoped above so JS-only
155+ / docs pushes stay fast). CI keeps lint / typecheck / test / architecture / SonarCloud / CodeRabbit.
150156
151157** Requirements:**
152158- SwiftLint: ` brew install swiftlint ` (skipped with a warning if not installed)
153- - Android checks require the Gradle wrapper in ` android/ `
159+ - Android checks require the Gradle wrapper in ` android/ ` ; the iOS build needs a booted-or-available
160+ simulator SDK. Verified locally: ` assembleDebug assembleRelease ` produces both APKs (~ 14 min).
154161
155162** Workflow implication (TDD / adversarial red-first):** write a failing test, commit it red (commit is
156163free), then drive it green; the branch must be green before ` git push ` (the gate blocks a red push).
0 commit comments