[reference][native WIP] fix(native): pin iOS deployment target 15.5 + split smoke jobs (ERY-108)#600
Conversation
…Y-108) cap add ios only runs pod install (via cap sync) when dist/ exists, so add the iOS platform before building the web bundle to skip the premature pod install that resolved against the default platform :ios, '14.0' and failed on GoogleMLKit/BarcodeScanning 7.0.0 (needs iOS 15.5+). A new idempotent patch_ios_deployment_target helper then pins 15.5 in the Podfile platform line, a post_install floor, and the App.xcodeproj target before cap sync runs pod install against the corrected Podfile. Split native-build-smoke.yml into independent ios-smoke (macos-15) and android-smoke (ubuntu-latest) jobs with no needs edge, and gate the Android release assemble with if: always(), so one failure no longer masks the other's evidence. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: Paperclip <noreply@paperclip.ing>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
eryxon-flow-website | f7a567c | Commit Preview URL Branch Preview URL |
May 24 2026, 07:56 PM |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 01ffbcbc0c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| run: | | ||
| set -euo pipefail | ||
| mkdir -p artifacts | ||
| npm run android:assemble:debug 2>&1 | tee artifacts/android-debug.log |
There was a problem hiding this comment.
Install Node deps before Android assemble commands
After splitting into android-smoke, this job no longer runs npm ci/npm install, but it still invokes npm run android:assemble:* (which calls npm run build and needs local devDependencies like vite). On a fresh GitHub runner, these steps fail before any APK assemble, so the Android smoke lane is effectively broken and won’t provide the intended debug/release evidence.
Useful? React with 👍 / 👎.
…RY-108) Run 26370807000 proved the iOS 15.5 pin resolves pod install and that the job split decouples Android evidence from iOS. Two follow-ups: - The independent android-smoke job had no `npm ci`, so `npm run build` failed with `vite: not found` (the old single job inherited node_modules from `ios:init`). Add an explicit install step. - Add a concurrency group with cancel-in-progress so iterating doesn't burn parallel macOS iOS builds. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: Paperclip <noreply@paperclip.ing>
Run 26370892728 cleared the vite error (npm ci) and progressed into the real Gradle build, which then failed at :capacitor-android:compileDebugJavaWithJavac with "invalid source release: 21". Capacitor 7's android module compiles with source/target 21, so the Android smoke job must run on JDK 21, not 17. iOS unchanged — run 26370807000 was fully green (pod install resolves + simulator build succeeds). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: Paperclip <noreply@paperclip.ing>
Run 26370991082 passes all four checks: iOS pod install + simulator build, Android debug + release APKs (JDK 21). Acceptance met; ERY-81 native smoke unblocked. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: Paperclip <noreply@paperclip.ing>
|
Native iOS/Android CI work — intentionally NOT part of stable v0.6 (#603). Native stays on the roadmap / WIP track. Six commits on |
|
Native mobile deferred per board directive. Closing. |
Why
First macOS native smoke run (26370608416) surfaced two blockers: iOS
pod installfailed (GoogleMLKit/BarcodeScanning 7.0.0 needs iOS 15.5+, Capacitor's default Podfile pins 14.0) and the single-job layout let the iOS failure skip all Android steps.What changed
scripts/ios-init.shadds the iOS platform before building the web bundle (socap add iosskips the prematurepod install), then an idempotentpatch_ios_deployment_targethelper pins 15.5 in the Podfileplatformline, apost_installfloor across all transitive Pods targets, and theApp.xcodeprojdeployment target, beforecap syncruns pod install against the corrected Podfile.native-build-smoke.ymlnow has independentios-smoke(macos-15) andandroid-smoke(ubuntu-latest) jobs with noneedsedge; the Android release assemble isif: always()so both APK results are always captured.Verification
ios-pods-template: Podfile →15.5, all four pbxproj configs →15.5,ruby -cclean,bash -nclean. The native toolchain is unavailable on the engineer host, so pod resolution + simulator build are proven by this PR's CI run.Re-run evidence to be recorded in
docs/2026-05-24-ery-71-native-packaging-validation.md(ERY-108 section) once this lane completes. Advances ERY-81.🤖 Generated with Claude Code