mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 17:15:54 +00:00
c9d756285a
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 https://github.com/react-native-community/react-native-releases/issues/2#issuecomment-371905315. https://circleci.com/workflow-run/440180a2-e888-4f27-bec9-b8e5d9be6708 [GENERAL] [MINOR] [CI] - Resolve iOS, tvOS failures in Circle Closes https://github.com/facebook/react-native/pull/18304 Differential Revision: D7220150 Pulled By: hramos fbshipit-source-id: 0f5e68c779dfce44e6deb8b813a3ac9e25a2ab97
27 lines
1.0 KiB
Bash
Executable File
27 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Make sure we don't accidentally restore a cache that contains the Metro
|
|
# filename issue that was fixed in Metro 0.25, originally introduced in
|
|
# D6752278. Once fixed, this was causing sporadic failures in the iOS
|
|
# and tvOS workflows as the issue persisted in the cached node_modules
|
|
#
|
|
# The filename issue can be summarized as follows:
|
|
# A version of Metro was published to npm with HmrClient.js and
|
|
# HmrClient.js.flow files, while the repo contains HMRClient.js and
|
|
# HMRClient.js.flow. This was due to a case issue in the publisher's
|
|
# host machine.
|
|
# The issue this is checking for is manifested by the presence of all
|
|
# of the following files: HmrClient.js, HMRClient.js, HmrClient.js.flow,
|
|
# HMRClient.js.flow.
|
|
|
|
EXPECTED='1'
|
|
ACTUAL=$(ls node_modules/metro/src/lib/bundle-modules/*.js | xargs | awk '{print tolower($0)}' | tr ' ' '\n' | grep hmrclient.js | wc -l | tr -d '[:space:]')
|
|
|
|
if [ "$EXPECTED" != "$ACTUAL" ]; then
|
|
echo "HmrClient.js crept into the cache?"
|
|
echo $(ls node_modules/metro/src/lib/bundle-modules/H*lient.js)
|
|
exit 1
|
|
fi
|