| #
40881091 |
| 25-Apr-2023 |
Kudo Chien <[email protected]> |
[bare-expo] use android espresso for test-suite ci testing (#22214)
# Why
our android test-suite ci testing is flaky. most of time coming from detox hardcoded 45s timeout to install apk
# How
[bare-expo] use android espresso for test-suite ci testing (#22214)
# Why
our android test-suite ci testing is flaky. most of time coming from detox hardcoded 45s timeout to install apk
# How
use android espresso rather than detox. detox will still work for reference.
# Test Plan
ci passed
show more ...
|
| #
2fd75d6d |
| 25-Jul-2022 |
Kudo Chien <[email protected]> |
Deprecate source-login-scripts.sh (#18330)
# Why
the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other tha
Deprecate source-login-scripts.sh (#18330)
# Why
the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path.
close ENG-4864
close ENG-5242
# How
react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: https://github.com/facebook/react-native/pull/33546
to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`.
# Test Plan
- building bare-expo from xcode (opening xcode by macos finder)
- building bare-expo by `yarn ios`
- updates e2e ci passed
- building expo-go (prerequisite: #18344)
Co-authored-by: James Ide <[email protected]>
show more ...
|
| #
6f2f5db8 |
| 11-Jan-2022 |
Kudo Chien <[email protected]> |
[bare-expo] Use official react-native (#15817)
# Why
from sdk 43, we've tried to use official react-native in our bare template. that would be good if we do this also in bare-expo and our tests w
[bare-expo] Use official react-native (#15817)
# Why
from sdk 43, we've tried to use official react-native in our bare template. that would be good if we do this also in bare-expo and our tests will be more like a real app which user would have. this change will also reduce android CI time because we don't need to build react-native AAR. (test-suite android from about 30m -> 23m)
close ENG-2234
# How
- remove `react-native-lab/react-native` from yarn workspace
- remove building android AAR from our fork
- remove dev-menu and async-storage code because our forked react-native removed the registration.
the only purpose of `react-native-lab/react-native` is for expo-go versioned code after this pr.
# Test Plan
- CI green
- `et remove-sdk -p {android,ios} -s 44.0.0 ; et add-sdk -p {android,ios} -s 44.0.0` and check versioning right
show more ...
|
| #
f1f866e8 |
| 10-Nov-2021 |
Łukasz Kosmaty <[email protected]> |
[bare-expo] Make Gradle faster (#15120)
# Why
Makes Gradle a little bit faster in the `bare-expo` project.
# How
- Combined `GenerateDynamicMacrosPlugin` and `ExecuteSetupAndroidProject` in
[bare-expo] Make Gradle faster (#15120)
# Why
Makes Gradle a little bit faster in the `bare-expo` project.
# How
- Combined `GenerateDynamicMacrosPlugin` and `ExecuteSetupAndroidProject` into one plugin.
- Allowed Gradle to run in parallel.
- Allowed Gradle to use file watchers to speed up the compilation.
- Exclude some unneeded operations from the generating dynamic macros command.
- Changed how `setup-android-project.sh` detect RN version.
You can check https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b to get more information about some of the optimizations I made.
# Test Plan
Made several tests involving clean and incremental builds.
The biggest gain is in the clean builds - there are two times faster. The incremental builds are also faster, but here the difference is more subtle. We can save about from 4 to 8 seconds. It is not a lot, but still an improvement.
show more ...
|
| #
45471a91 |
| 26-May-2020 |
Stanisław Chmiela <[email protected]> |
[bare-expo] Do not rebuild react-native every time (#8484)
# Why
Noticed that every time Gradle configured `bare-expo` project it rebuilt the `ReactAndroid`. Not that it took a lot of time (3s),
[bare-expo] Do not rebuild react-native every time (#8484)
# Why
Noticed that every time Gradle configured `bare-expo` project it rebuilt the `ReactAndroid`. Not that it took a lot of time (3s), but I knew I had it already prebuilt.
# How
Noticed that the path used to check if RN is prebuilt is wrong.
# Test Plan
Configuring project now prints
```
✅ React Android is installed
```
as expected.
show more ...
|
| #
996ca81c |
| 25-May-2020 |
Stanisław Chmiela <[email protected]> |
[bare-expo] Gracefully handle new RN versions when setting up RN project (#8468)
# Why
While upgrading React Native I noticed that the script thinks that proper version of RN is built (while it w
[bare-expo] Gracefully handle new RN versions when setting up RN project (#8468)
# Why
While upgrading React Native I noticed that the script thinks that proper version of RN is built (while it was not). It was due to too loose `if` checking if there is **any version** of RN built, not the one we need.
# How
Devised a magic command extracting expected version of RN and fixed the `if`.
# Test Plan
On RN 0.62 branch running the script built new version of React Native once.
show more ...
|
| #
c45fb1e3 |
| 21-Nov-2019 |
Stanisław Chmiela <[email protected]> |
[bare-expo] Simplify setup (#6336)
# Why
Follow up to https://github.com/expo/expo/pull/6200#discussion_r346079801.
> The script I linked to runs when you run the Yarn scripts in bare-expo. **
[bare-expo] Simplify setup (#6336)
# Why
Follow up to https://github.com/expo/expo/pull/6200#discussion_r346079801.
> The script I linked to runs when you run the Yarn scripts in bare-expo. **We could add it to the bare-expo Gradle file so that it always runs when you try to build the Android app.**
# How
- added copying of `local.properties` to `react-native-lab`
- added `setup-android-project.sh` to run when syncing `bare-expo` project
# Test Plan
I use `local.properties` for `sdk.dir` and `ndk.dir` management, so I needed to copy `local.properties` manually for `ReactAndroid` in `react-native-lab` to build. To test my changes I:
- ran `git clean -fxd .` in `react-native-lab/react-native`
- opened the `bare-expo` Android project
It synced properly, rebuilding `ReactAndroid` while doing so.
show more ...
|
| #
256a081e |
| 20-Nov-2019 |
Stanisław Chmiela <[email protected]> |
[bare-expo] Fix setup-android-project
|
| #
0bcb289d |
| 24-Oct-2019 |
Evan Bacon <[email protected]> |
Split platform scripts (#6078)
|