-
Notifications
You must be signed in to change notification settings - Fork 404
0.55.x (latest: 0.55.4) #2
Comments
Status: Branch cut |
Status: CI tests failing |
Status: CI tests failing |
Status: CI tests failing |
@grabbou You want to link to an example build that's failing? Very naively I'd guess it could be a caching issue (maybe dependencies of some kind?), with the existing cache for |
Yeah, my guess was also that the cache on Circle CI 2.0 has wrong keys (fallback ones) which fails for the first time on any branch where there's no specific cache. Here's failing test: https://circleci.com/gh/facebook/react-native/36435 |
Looks like a recurrence of facebook/react-native#17742. (@grabbou do you want me to move this elsewhere?) The failureThe
The state of the filesystemThe actual build filesystem on CircleCI (as cached at the end of https://circleci.com/gh/facebook/react-native/36269) seems to include both
The potential fixIn facebook/react-native#17742 it was pointed out that facebook/react-native@e048bf1 (requiring This is likely to be an unreliable fix in the long run; the problem could be down to nondeterministic behaviour in However, based on circumstantial evidence, I believe that changing https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Utilities/HMRClient.js#L16 to require |
Thanks for digging into that! I have applied the suggested fix and will try
to see whether it makes the build green. It worries me that the referenced
issue says that it has been fixed in `master` which is clearly not true.
I'll pass this thread to Facebook team to see what's their idea.
Thank you! You saved me few hours of digging :)
…On Fri, 9 Mar 2018 at 19:33 Moti Zilberman ***@***.***> wrote:
Looks like a recurrence of facebook/react-native#17742
<facebook/react-native#17742>. ***@***.***
<https://github.com/grabbou> do you want me to move this elsewhere?)
The failure
The test_ios Circle CI build is failing with:
Error: Unable to resolve module `metro/src/lib/bundle-modules/HMRClient`
from `/Users/distiller/react-native/Libraries/Utilities/HMRClient.js`:
Module does not exist in the module map
The state of the filesystem
The actual build filesystem on CircleCI (as cached at the end of
https://circleci.com/gh/facebook/react-native/36269) seems to include
both HMRClient.js and HmrClient.js in the requested location:
...
./node_modules/metro/src/lib/bundle-modules/MetroClient.js
./node_modules/metro/src/lib/bundle-modules/HMRClient.js.flow
./node_modules/metro/src/lib/bundle-modules/MetroClient.js.flow
./node_modules/metro/src/lib/bundle-modules/asyncRequire.js.flow
./node_modules/metro/src/lib/bundle-modules/asyncRequire.js
./node_modules/metro/src/lib/bundle-modules/HMRClient.js
./node_modules/metro/src/lib/bundle-modules/HmrClient.js
./node_modules/metro/src/lib/bundle-modules/BUCK
./node_modules/metro/src/lib/bundle-modules/HmrClient.js.flow
...
The potential fix
In facebook/react-native#17742
<facebook/react-native#17742> it was pointed
out that ***@***.***
<facebook/react-native@e048bf1>
(requiring HmrClient instead of HMRClient) fixed things. My hypothesis as
to why master is working is that it has a cache from a time when HmrClient
was requested, which a clean build cannot reconstruct.
This is likely to be an unreliable fix in the long run; the problem could
be down to nondeterministic behaviour in metro with filenames that are
only distinguishable by letter case, e.g. relying on readdir sort order
where it is not actually guaranteed to be consistent.
However, based on circumstantial evidence, I believe that changing
https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Utilities/HMRClient.js#L16
to require HmrClient will fix the build for the time being.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACWcxiwfM4OkCMieHeYiO8mKy7hojnSvks5tcsr5gaJpZM4SdoaG>
.
|
Amazing. Thanks for looking into this. It makes total sense and explains the flaky test behavior. |
I'm landing a fix. We were using a stale i.e. when the cache was restored and the workspace attached unto our Ubuntu containers, we'd end up with the stale On OS X, however, upon attaching the workspace we'd end up with a single Note that this all comes from an issue we had with Metro. The release that preceded 0.25 was published to npm with the wrong case, i.e. it had As part of my fix, I added a regression test to ensure this doesn't happen again. |
Note that my fix is landing on master, we might need to cherry-pick it unto 0.55-stable. |
Summary: tvOS and iOS workflows were flaky, apparently due to a stale cache that contained a problematic version of the Metro dependency. Thanks to motiz88 for identifying the potential cause of flakiness in react-native-community/releases#2 (comment). https://circleci.com/workflow-run/440180a2-e888-4f27-bec9-b8e5d9be6708 [GENERAL] [MINOR] [CI] - Resolve iOS, tvOS failures in Circle Closes #18304 Differential Revision: D7220150 Pulled By: hramos fbshipit-source-id: 0f5e68c779dfce44e6deb8b813a3ac9e25a2ab97
Great, I just took the latest Status: CI tests failing |
Status: RC published |
CI tests are currently failing on master due to a BUCK issue. Introduced in facebook/react-native@3a2bdf5. Fix landing soon. |
^ The above comment is for master, and I realize this may not be affecting 0.55-RC as the problematic commit is not in the RC. Do you care about CI test failures on master? I can see this being of interest to you when the RC cutoff date is near, but probably less so mid-cycle (this failure will be long fixed by the time 0.56-RC is cut). |
Yeah, would be good to be aware of the status anyway. That way, I can also help fixing the CI when other team members are busy, which should improve the PR review process. I am thinking whether we should have a separate issue for tracking master status. FYI, I am going to cherry-pick a commit requested recently to add support for context and cut new release candidate today. Status update to follow in few minutes. |
Also, going to cherry-pick this to fix issues with |
Status: CI tests pending |
Status: RC published |
Status: CI tests pending |
Status: CI tests pending |
Status: Stable released |
Note: Current version (0.55.0) ships with alpha version of React. This is a mistake. Unfortunately, I can't unpublish the release, so we are waiting for a sync to come from Facebook. Expect 0.55.1 to be published later today / tomorrow morning containing stable version of React. |
Status: Stable released (0.55.1) |
Status: CI tests pending |
Status: Stable published (0.55.2) |
Status: CI tests pending |
Status: Stable published (0.55.3) |
Status: Stable published (0.55.4) |
Latest release: 0.55.4
The text was updated successfully, but these errors were encountered: