react-native-community / react-native-circleci-orb

A CircleCI Orb to Simplify Testing your React Native App
MIT License
174 stars 81 forks source link

`bundle` command usage #71

Open andreialecu opened 3 years ago

andreialecu commented 3 years ago

Apologies as this is more of an usage question (or a documentation request). I noticed a bundle command was added in #8 but there was no context as to what it is useful for.

The CircleCI landing page specifies that the dev tools could be used in Linux https://circleci.com/circleci-react/

My understanding is that the react-native bundle command could be used in Linux containers and a MacOS container would then just need to compile via xcode and skip the JS bundling altogether, thus saving on some of the time required to keep mac VMs online.

I suspect running the bundle command may help with that. The js bundle would need to be sent to the MacOS runner, and a SKIP_BUNDLING=true env variable might be needed (as per https://github.com/facebook/react-native/blob/master/scripts/react-native-xcode.sh#L30) so that XCode doesn't bundle it itself.

None of this seems to be documented anywhere though. 😕

Am I on the right track?

fotos commented 5 months ago

@andreialecu I can't find recent documentation but in older versions of React Native there was a recommendation to bundle (manually) before building the app.

Nowadays all I found was this blog post that mentions the steps:

Older versions of React Native’s docs (0.19) recommended running the bundling command manually before building your app if you don’t have a react.gradle file.

What you have in mind is described in the documentation too:

The static bundle is built every time you target a physical device, even in Debug. If you want to save time, turn off bundle generation in Debug by adding the following to your shell script in the Xcode Build Phase Bundle React Native code and images.

Have you accomplished the above? Was it worth it?