[NoQA] feat: cli setup to enable remote builds for ios and android using RNEF#58706
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
4 similar comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
The debug builds are passing for me so I'll proceed and undraft this PR - let the testing game begin 👨🏻🍳 |
|
@parasharrajat Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
@adhorodyski I checked a bullet point related to HybridApp We had to make a few adjustments to community CLI in order to support our brownfield setup. Those changes were necessary to make commands like If I read the code correctly, you removed all occurrences of old CLI from the project, so it should be safe to remove those patches permanently 😅 Regarding EDIT: I noticed that @react-native-community/cli-config is defined as dependency of rnef/cli. I would double-check that deletion of this patch won't break anything 🤞 |
Oki, if these now pass fine I'd assume (testing will confirm) we're good to remove them. Nice, some patches off the board!
I'll proceed and remove this then, thanks.
So it worked fine up to this moment, I'll keep an eye on this and ideally eg. patch it upstream to allow for configurable paths. @mateuuszzzzz thank you so much for chiming in, appreciate the time & effort taken 😊 |
|
@adhorodyski There are some conflicts. Can You please merge main? I will start testing... |
roryabraham
left a comment
There was a problem hiding this comment.
I'm not sure exactly what's causing the diff (probably the change to package.json), but you'll also want to merge main, run npm i, then run npm run gh-actions-build and commit the diff.
7d876c1 to
96de484
Compare
This comment was marked as duplicate.
This comment was marked as duplicate.
3 similar comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This is passing now, thanks! |
|
@parasharrajat let's hold off a little, I'm figuring out why it's failing on my end now after merging with the latest main updates. Will update here. EDIT: Both Android builds are passing now, looking into iOS ones. |
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
2 elements I'll continue working on tomorrow:
@roryabraham can I ask you to re-run the e2e suite? The tests should now run fine. |
|
re-ran performance tests: https://github.com/Expensify/App/actions/runs/14204674861 |
This comment was marked as duplicate.
This comment was marked as duplicate.
|
This comment was marked as duplicate.
This comment was marked as duplicate.
|
Update:
|
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
|
Can we run performance tests on this PR? I am curious to know how the automated tests are using the MOBILE-EXPENSIFY PR when it is not linked to the project yet. |
|
|
|
Performance tests running: https://github.com/Expensify/App/actions/runs/14253373513 |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/roryabraham in version: 9.1.24-2 🚀
|
|
@adhorodyski @parasharrajat @roryabraham Is there anything to QA in Staging for this PR? |
|
@mvtglobally No |
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.1.24-10 🚀
|
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.1.24-10 🚀
|
@mountiny
Explanation of Change
This PR replaces the Community CLI the app is using right now with its' successor, the RNEF's CLI.
This change enables consuming remote builds by CI/local environments that will be introduced in the followup PR.
This PR does not clear up the Community CLI from the project. This will be done as a separate effort, afterwards.
Value
remoteCacheProvider: nullis used to entirely skip checking against a remote cache for now in all environments. I'll soon be swapped withremoteCacheProvider: 'github-actions'for internal use and later on for all the contributors. We'll start producing remote artifacts in the meantime to secure a gradual rollout.Before we merge:
contributingGuides/HYBRID_APP.mdfor updates. See what's missing and how we should adjust given that some of the tips are tied to@react-native-community/clior manual pods installation.Fixed Issues
$ #58743
PROPOSAL: https://expensify.slack.com/archives/C05LX9D6E07/p1740996271773479
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/13486
Tests
All the below build configurations should pass just fine, for both Standalone and Hybrid apps.
npm run android-standalonenpm run androidnpm run ios-standalonenpm run iosApart from these debug ones, all adhoc/release builds should pass correct as well.
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop