Skip to content

Commit f845398

Browse files
Merge pull request off-grid-ai#609 from off-grid-ai/docs/rules-prepush-native-builds
docs(rules): native builds now run on pre-push, not CI
2 parents d033959 + ccbb3f3 commit f845398

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

rules.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
156163
free), then drive it green; the branch must be green before `git push` (the gate blocks a red push).

0 commit comments

Comments
 (0)