-
Notifications
You must be signed in to change notification settings - Fork 985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
disable hermes
for debug android builds & enable hermes
for release builds
#18675
Conversation
9c9652e
to
7982101
Compare
Jenkins BuildsClick to see older builds (28)
|
658218e
to
d282e93
Compare
afd3ec6
to
22b243c
Compare
hermes
for debug android buildshermes
for debug android builds & enable hermes
for release builds
4e13259
to
06fb04c
Compare
06fb04c
to
de799ae
Compare
de799ae
to
60686ad
Compare
88% of end-end tests have passed
Failed tests (4)Click to expandClass TestCommunityMultipleDeviceMerged:
Class TestCommunityMultipleDeviceMergedTwo:
Class TestDeepLinksOneDevice:
Expected to fail tests (2)Click to expandClass TestCommunityMultipleDeviceMergedTwo:
Class TestCommunityOneDeviceMerged:
Passed tests (42)Click to expandClass TestGroupChatMultipleDeviceMergedNewUI:
Class TestCommunityOneDeviceMerged:
Class TestActivityMultipleDevicePRTwo:
Class TestActivityMultipleDevicePR:
Class TestActivityCenterContactRequestMultipleDevicePR:
Class TestCommunityMultipleDeviceMerged:
Class TestCommunityMultipleDeviceMergedTwo:
Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:
Class TestOneToOneChatMultipleSharedDevicesNewUi:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing this.
60686ad
to
a63446a
Compare
fixes #18493 We enabled `hermes` for android in the `react-native` upgrade to `0.72.5` Although things seemed fine but developers were seeing frequent crashes in their local environment. After some investigation the crashes were traced to max native call stack depth in `hermes` engine. Disabling `hermes` for local debug builds helps fix that issue. This commit disables `hermes` by default with the help of a exporting an environment variable in the `make run-android` command. It is annoying that this also modifies `android/gradle.properties` so we keep `hermesEnabled` as `false` there as well. We also enable `hermes` when generating release builds so that we can take advantage of `hermes` engine in release builds. We also add a log to print whether `hermes` is enabled or not. I think its helpful to have this so that we know whether `hermes` is enabled or not.
a63446a
to
a8baeba
Compare
fixes #18493 We enabled `hermes` for android in the `react-native` upgrade to `0.72.5` Although things seemed fine but developers were seeing frequent crashes in their local environment. After some investigation the crashes were traced to max native call stack depth in `hermes` engine. Disabling `hermes` for local debug builds helps fix that issue. This commit disables `hermes` by default with the help of a exporting an environment variable in the `make run-android` command. It is annoying that this also modifies `android/gradle.properties` so we keep `hermesEnabled` as `false` there as well. We also enable `hermes` when generating release builds so that we can take advantage of `hermes` engine in release builds. We also add a log to print whether `hermes` is enabled or not. I think its helpful to have this so that we know whether `hermes` is enabled or not.
We recently disabled `hermes` for debug builds here -> #18675 A side effect of that is when we run `make nix-update-gradle` the `hermes` pom gets removed from `deps.list` This pom is necessary for release builds. Currently that pom exists in `deps.list` but someone may accidentally remove it when running `make nix-update-gradle` In this commit we remove the conditional implementation of `hermes` or `jsc` in `build.gradle` This ensures that the `hermes` pom we need during release builds is not removed from `deps.list`. I also ran `make nix-update-gradle` just to be sure. I compared the apk in this commit to other PRs and the size increased by 2MB. A small price to pay so that the team can run Malli locally without crashing their debug app frequently. I've added a FIXME comment in the code for when we want to cut back on bundle size later.
We recently disabled `hermes` for debug builds here -> #18675 A side effect of that is when we run `make nix-update-gradle` the `hermes` pom gets removed from `deps.list` This pom is necessary for release builds. Currently that pom exists in `deps.list` but someone may accidentally remove it when running `make nix-update-gradle` In this commit we remove the conditional implementation of `hermes` or `jsc` in `build.gradle` This ensures that the `hermes` pom we need during release builds is not removed from `deps.list`. I also ran `make nix-update-gradle` just to be sure. I compared the apk in this commit to other PRs and the size increased by 2MB. A small price to pay so that the team can run Malli locally without crashing their debug app frequently. I've added a FIXME comment in the code for when we want to cut back on bundle size later.
We recently disabled `hermes` for debug builds here -> #18675 A side effect of that is when we run `make nix-update-gradle` the `hermes` pom gets removed from `deps.list` This pom is necessary for release builds. Currently that pom exists in `deps.list` but someone may accidentally remove it when running `make nix-update-gradle` In this commit we remove the conditional implementation of `hermes` or `jsc` in `build.gradle` This ensures that the `hermes` pom we need during release builds is not removed from `deps.list`. I also ran `make nix-update-gradle` just to be sure. I compared the apk in this commit to other PRs and the size increased by 2MB. A small price to pay so that the team can run Malli locally without crashing their debug app frequently. I've added a FIXME comment in the code for when we want to cut back on bundle size later.
fixes #18493
Summary
We enabled
hermes
for android in thereact-native
upgrade to0.72.5
Although things seemed fine but developers were seeing frequent crashes in their local environment.
After some investigation the crashes were traced to max native call stack depth in
hermes
engine.Disabling
hermes
for local debug builds helps fix that issue.This PR disables
hermes
by default with the help of a exporting an environment variable in themake run-android
command.It is annoying that this also modifies
android/gradle.properties
so we keephermesEnabled
asfalse
there as well.We also enable
hermes
when generating release builds so that we can take advantage ofhermes
engine in release builds.We also add a log to print whether
hermes
is enabled or not. I think its helpful to have this so that we know whetherhermes
is enabled or not.Testing notes
Test locally to see if max native call stack error goes away.
Testing notes
no change in release builds,
hermes
was enabled in release builds since the upgrade was merged.Testing is not required.
Platforms
status: ready