Skip to content

Commit 5d658a6

Browse files
committed
ci(e2e): binary cache APK / .app + shrink diagnose to BAPI sanity check
Now that the sign-in flow actually passes end-to-end, layer in binary-level caching so flow-only iterations stop paying the 5-minute native build cost. Compute a single source hash from packages/expo + the workflow file + the quickstart's source (excluding node_modules, android, ios), keyed also on EXPO_INSTANCE_NAME (the publishable key is baked into the JS bundle, so a different instance must invalidate the cache). Restore that hash as actions/cache/restore@v4 -> /tmp/cached-app-release.apk (Android) or /tmp/cached-clerknativequickstart.app (iOS). On cache hit, every build-only step (monorepo install, @clerk/expo build/pack, quickstart configure + install, stub assets, .env write, JDK setup, gradle cache, prebuild, gradle assembleRelease / xcodebuild) is skipped. The emulator / simulator step adb-installs the cached binary and runs Maestro. On cache miss, the build runs as before, the produced binary is copied to the stable cache path, and actions/cache/save@v4 persists it for the next run. Also shrink the diagnose step now that the underlying mystery (it was a missing --env on the maestro CLI all along, not a Clerk config issue) is resolved. The remaining "Verify BAPI user" step is a tight pre-Maestro sanity check that runs in ~200ms. Expected effect: cold cache (first run after a source change) - same as before, ~25 min warm cache, flow-only iteration ~3-4 min
1 parent f60c318 commit 5d658a6

1 file changed

Lines changed: 133 additions & 76 deletions

File tree

0 commit comments

Comments
 (0)