| #
f2369006 |
| 19-Aug-2023 |
Kudo Chien <[email protected]> |
[ci] try to improve ci stability (#24002)
# Why
try to improve ci stability
# How
- android-unit-tests
- prevent timeout and out of disk space
- client-android-eas
- since client-and
[ci] try to improve ci stability (#24002)
# Why
try to improve ci stability
# How
- android-unit-tests
- prevent timeout and out of disk space
- client-android-eas
- since client-android is not stable, try to broad the client-android-eas path coverage
- for external contributors (forked repo), just ignore the workflow
- client-ios-eas
- for external contributors (forked repo), just ignore the workflow
- client-android
- TBD
- client-ios
- remove s3 and store publish
- ios-unit-tests
- prevent timeout
- clipboard
- fix timeout issue because of slow NSAttributedString html processing
- `et dispatch`: remove unused workflows
- releasing guide: update to the newer `et eas` releasing workflows
# Test Plan
ci passed
show more ...
|
| #
9558d768 |
| 08-Jun-2023 |
Kudo Chien <[email protected]> |
[ci] use ubuntu-22.04 runner (#22797)
# Why
use the latest ubuntu runner and make ci more stable
# How
update to ubuntu-22.04 runner
|
| #
dd207f86 |
| 13-Jan-2023 |
Bartosz Kaszubowski <[email protected]> |
[github] use Node 16 for all workflows (#20803)
|
| #
beecb66b |
| 03-Oct-2022 |
Kudo Chien <[email protected]> |
[ci] increase timeout for building hermes
|
| #
22b45c56 |
| 28-Sep-2022 |
Kudo Chien <[email protected]> |
Upgrade react-native 0.70 (#19261)
# Why
update react-native to 0.70 for sdk 47
# How
- update package versions
- `react` 18.0.0 -> 18.1.0
- `react-native` 0.69.5 -> 0.70.1
- `reac
Upgrade react-native 0.70 (#19261)
# Why
update react-native to 0.70 for sdk 47
# How
- update package versions
- `react` 18.0.0 -> 18.1.0
- `react-native` 0.69.5 -> 0.70.1
- `react-native-web` ~0.18.7 -> ~0.18.9
- `react-test-renderer` 18.0.0 -> 18.1.0
- `metro-react-native-babel-preset` ~0.70.3 -> ~0.72.1
- `react-native-reanimated` 2.9.1 -> 2.10.0 (because 2.9 doesn't support react-native 0.70)
- [NCL] remove unused react-native-redash
- [NCL] `@react-navigation/native` ~5.8.9 -> ~5.9.8 (fixed the deprecated Linking.removeEventListener)
- migrate templates based on [rn-upgrade helper](https://react-native-community.github.io/upgrade-helper/?from=0.69.5&to=0.70.1). one exception is that we still use jsc by default in sdk 47.
- expo-template-bare-minimum
- bare-expo
- bare-sandbox
- fabric-tester
- native-tests
- android (expo go)
- ios (expo go)
- update our react-native fork to 0.70 based
- [android] use ReactAndroid directly from _react-native-lab/react-native/ReactAndroid_ without copying a lot of files to expo/expo to increase the repo size. close ENG-4562. i will remove _android/ReactAndroid_ and _android/ReactCommon_ in a separate commit.
- toward this, i also change the prebuiltHermes support in this pr. the target react-native hermes version is in `react-native-lab/react-native/sdks/.hermesversion` and the cached hermes is now in `android/prebuiltHermes/.hermesversion`.
- [tools] update-rn: support running transformer directly in _react-native-lab/react-native_
- [ios] backport folly version to previous versioned code
- [0.70 breaking change] fix skia build error for `jsi::detail::throwJSError`. use `throw jsi::JSError` instead as upstream latest code.
- [0.70 breaking change][updates] `NativeModuleCallExceptionHandler -> JSExceptionHandler`. change from https://github.com/facebook/react-native/commit/b6f7689d701d0409c23ab364356aeb95710c20fa
# Test Plan
- ✅ android expo go + unversioned NCL
- ✅ ios expo go + unversioned NCL
- ✅ android bare-expo
- ✅ ios bare-expo
- ✅ android fabric-tester
- ✅ ios fabric-tester
- ✅ ci passed
- android client - eas build is broken on main. #19270 may address the issue.
- updates e2e is broken on main. the root cause should come from #18653 when proguard is enabled, the app will crash. will follow up in separated pr.
Co-authored-by: Tomasz Sapeta <[email protected]>
show more ...
|
| #
cb639b06 |
| 09-Sep-2022 |
Kudo Chien <[email protected]> |
[core] Added `REACT_NATIVE_DOWNLOADS_DIR` environment variable support (#19015)
# Why
it's not ideal for an app to download 3rd party libraries multiple times.
# How
- [core][expoview] add
[core] Added `REACT_NATIVE_DOWNLOADS_DIR` environment variable support (#19015)
# Why
it's not ideal for an app to download 3rd party libraries multiple times.
# How
- [core][expoview] add `REACT_NATIVE_DOWNLOADS_DIR` environment variable to support custom download location. the way is aligned with [react-native](https://github.com/facebook/react-native/blob/37d0a25cb28879449d89056079c94177c7d2c73f/ReactAndroid/build.gradle#L34-L35)
- [ci] add `react-native-gradle-downloads` expo cache to set the `REACT_NATIVE_DOWNLOADS_DIR` variable and restore the cache from `$HOME/.gradle/react-native-downloads`. note that i've set the cache key as yarn.lock hash value, because GH cache action will not store the updates to storage as long as cache hit. we should use a new key after dependencies changes after react-native upgrade.
# Test Plan
- `REACT_NATIVE_DOWNLOADS_DIR=$HOME/foo ./gradlew :app:assembleDebug` in apps/bare-expo/android and verify the download files should present in $HOME/foo
- ci passed and once `react-native-gradle-downloads` cache hit, the downloadBoost task should not download the boost library.
show more ...
|
| #
96634eea |
| 26-Jun-2022 |
Kudo Chien <[email protected]> |
[ios] Update react-native to 0.69 for expo go (#17629)
# Why
upgrade react-native for sdk 46
# How
- update our react-native fork
- [android] add hermes-engine prebuilding. the main change
[ios] Update react-native to 0.69 for expo go (#17629)
# Why
upgrade react-native for sdk 46
# How
- update our react-native fork
- [android] add hermes-engine prebuilding. the main change is [here](https://github.com/expo/react-native/commit/8bb810c9860fc1e49d9f55bb3929ad0eb534f441). because in expo-go we are building react-native from source. in 0.69 it also means to build hermes from source. that will make our ci time more difficult.
- [expo][android] add ReactNativeHostWrapper for 0.69 because `com.facebook.react.devsupport.interfaces.RedBoxHandler` package renaming.
- update some expo modules to support 0.69
**TODO**
`et update-rn` is not included in this pr. i will do it later and commit directly. because that includes mass changes and makes review very difficult.
# Test Plan
update react-native, react, in expo/expo and test NCL with android/ios unversioned expo go
Co-authored-by: Tomasz Sapeta <[email protected]>
show more ...
|
| #
473143a5 |
| 12-May-2022 |
Kudo Chien <[email protected]> |
[ci] revert the instrumentated test (#17464)
# Why
close ENG-4807
# How
running android instrumented tests on linux runners are not very stable. the root cause is from the fixed timeout in
[ci] revert the instrumentated test (#17464)
# Why
close ENG-4807
# How
running android instrumented tests on linux runners are not very stable. the root cause is from the fixed timeout in gradle and i [responded the issue in upstream](https://issuetracker.google.com/issues/111260497).
to make ci stable, i decided to revert my changes in #16862. so far we only have instrumented test in four packages, it doesn't make sense to waste 40 minutes macos runner time for any expo modules changes. so i narrow down the scope a little bit:
```yaml
pull_request:
paths:
- .github/workflows/android-instrumentation-tests.yml
- android/**
- fastlane/**
# - packages/**/android/**
- packages/expo-eas-client/android/**
- packages/expo-json-utils/android/**
- packages/expo-manifests/android/**
- packages/expo-updates/android/**
- yarn.lock
- '!packages/@expo/cli/**'
```
# Test Plan
android tests ci passed
show more ...
|
| #
58f238aa |
| 04-May-2022 |
Bartosz Kaszubowski <[email protected]> |
[github] update Android API version for AVDs on CI (#17278)
|
| #
ce36cdd7 |
| 30-Apr-2022 |
Cedric van Putten <[email protected]> |
[cli] Disable Android unit tests for cli changes (#17290)
|
| #
fc12ed2d |
| 28-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[github] add local composite actions for CI, refactor workflows (#17162)
|
| #
f46dae44 |
| 21-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[github] remove `@unimodules` directory from cache paths (#17139)
|
| #
f250b346 |
| 15-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[github] always use `ubuntu-20.04` in workflows (#17051)
|
| #
4af7344c |
| 12-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[github] update most of GitHub actions used in workflows (#17003)
|
| #
7f016836 |
| 08-Apr-2022 |
Kudo Chien <[email protected]> |
[ci] Use ubuntu runner for android e2e test (#16862)
# Why
we have limited macos runners to run ci jobs. nowadays we have more e2e test jobs and it gets easier to block pr ci checks. this pr trie
[ci] Use ubuntu runner for android e2e test (#16862)
# Why
we have limited macos runners to run ci jobs. nowadays we have more e2e test jobs and it gets easier to block pr ci checks. this pr tries to use ubuntu runners for some android e2e test.
# How
- use ubuntu runner for updates-e2e ci job
- merge android instrumented test into android unit test and use ubuntu runner.
- i found x86 emulator is faster than x86_64. it gets about 10mins to boot up which is not so bad.
- comment out more expo-clipboard random failed test.
- android instrumented test is not perfect on ubuntu runners. it will sometimes failed like the following error.
```
> : No compatible devices connected.[TestRunner] FAILED
Found 1 connected device(s), 0 of which were compatible.
```
### CI jobs spending time
#### Before
- Updates e2e: ~21m
- Android instrumented test: ~41m
- Android unit test: ~19m
#### After
- Updates e2e: ~20m
- Android unit test (with instrumented test): ~45m
# Test Plan
ci passed
show more ...
|
| #
d566f199 |
| 06-Apr-2022 |
Kudo Chien <[email protected]> |
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
- migrate android/ios projects to 0.68
- [android] bump `targetSdkVersion` and `compileSdkVersion` to 31 (aligned with react-native 0.68)
- [tools] update codegen customization in `update-rn` script
- [tools] update versioning scripts
- [android] replace our customized `NDK_ABI_FILTERS` with official supported `reactNativeArchitectures` gradle property
- [android] use jdk 11
that is a huge pr because of changes from `et update-rn`. recommend to review this pr by commits.
most `add-sdk` problems on 0.68 are fixed. there are still an issue on android. i'll address in another pr.
- expo-av CMakeLists.txt versioning
# Test Plan
- unversoned android expo-go + ncl
- unversoned ios expo-go + ncl
- `et add-sdk -p ios -s 45.0.0` + versioned ios sdk 45 expo-go + ncl
- `et add-sdk -p android -s 45.0.0` + versioned android sdk 45 expo-go + ncl (should commented out expo-av in `ExperiencePackagePicker.kt`
show more ...
|
| #
b41c14cc |
| 02-Apr-2022 |
Kudo Chien <[email protected]> |
[android][ios] Upgrade to react-native 0.68 (#16532)
# Why
targeting react-native 0.68 in sdk 45 even though it's rc now.
# How
- [x] upgrade package.json
- [x] migrate bare-expo
- [x] mi
[android][ios] Upgrade to react-native 0.68 (#16532)
# Why
targeting react-native 0.68 in sdk 45 even though it's rc now.
# How
- [x] upgrade package.json
- [x] migrate bare-expo
- [x] migrate expo-template-bare-minimum
- [x] migrate bare-sandbox
❗️ reanimated build error because our previous integration is broken on AGP 7. solution in [the pr](https://github.com/software-mansion/react-native-reanimated/pull/3113). since the pr is not landed yet, i have a [temporarily workaround to patch reanimated](https://github.com/expo/expo/pull/16532/commits/8e5662bec377ea11edc21ec6114c39f6580cb56a).
# Test Plan
- android bare-expo launch test
- ios bare-expo launch test
show more ...
|
| #
2ed31047 |
| 24-Feb-2022 |
Kudo Chien <[email protected]> |
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)
# Why
upgrade for sdk 45
# How
## upgrade react native fork
code in https://github.com/expo/react-native/tree/sdk-45
ba
[android][ios] Upgrade react-native to 0.67.2 in Expo Go (#16400)
# Why
upgrade for sdk 45
# How
## upgrade react native fork
code in https://github.com/expo/react-native/tree/sdk-45
basically cherry pick most necessary commits from sdk-44 branch but not these two:
1. https://github.com/expo/react-native/commit/125b36ac6d76e702bea4d7c41a8a402d68cdb1f1: because ExpoKit is already deprecated.
2. https://github.com/expo/react-native/commit/82d3ff5218cc576b5c7ea44c7adbf8b5aa5d985c: [use the official way to set metro server address](https://github.com/facebook/react-native/commit/e2b5b6504cb4dee8f2ec67f1d3a410801e1ca09a)
## migrate project setup
basically reference from: https://react-native-community.github.io/upgrade-helper/?from=0.64.2&to=0.67.2
## other build errors or launch errors
just to deal with these mess one by one.
# Test Plan
- [android] unversioned expo-go build + launch + load unversioned NCL
- [ios] unversioned expo-go build + launch + load unversioned NCL
show more ...
|
| #
46843043 |
| 26-Jan-2022 |
Brent Vatne <[email protected]> |
[github] Update default branch to main
|
| #
a7cad70f |
| 10-Jan-2022 |
Eric Samelson <[email protected]> |
[gh] add timeouts to unit tests jobs (#15825)
|
| #
b928618c |
| 08-Sep-2021 |
Kudo Chien <[email protected]> |
[ci] reduce android unit test time (#14324)
# Why
reduce android unit test ci time (idea from @lukmccall)
# How
- run unit tests for only debug variant
- build native code for only x86_6
[ci] reduce android unit test time (#14324)
# Why
reduce android unit test ci time (idea from @lukmccall)
# How
- run unit tests for only debug variant
- build native code for only x86_64 abi
time saving for android unit test workflow ~ 15m
# Test Plan
ci passed
show more ...
|
| #
f907c25a |
| 28-Jul-2021 |
Bartłomiej Klocek <[email protected]> |
[ci] Move spotless ktlint check before tests (#13810)
|
| #
dca21aa2 |
| 18-Jul-2021 |
Will Schurman <[email protected]> |
[android] lint spotless ktlint and fix CI step (#13662)
|
| #
2cfc8c5a |
| 18-Jun-2021 |
Jakub <[email protected]> |
[setup] Update Android setup scripts & docs (#13108)
|
| #
57852c41 |
| 14-May-2021 |
Tomasz Sapeta <[email protected]> |
[ci] Automatically cancel running workflows in the same concurrency group (#12907)
|