Add existing Android checks to Circle.

Summary:
Moving towards reusing existing scripts to ensure local and CI tests are kept in sync.
Closes https://github.com/facebook/react-native/pull/18307

Differential Revision: D7222664

Pulled By: hramos

fbshipit-source-id: ecce91e32159c55b19c29eab69a6754642f02236
This commit is contained in:
Héctor Ramos 2018-03-09 17:06:51 -08:00 committed by Facebook Github Bot
parent 274d6ce587
commit 1ff1e573f1
2 changed files with 32 additions and 9 deletions

View File

@ -89,8 +89,8 @@ aliases:
# Dependency Management # Dependency Management
- &install-ndk - &install-ndk
| name: Install Android NDK
source scripts/circle-ci-android-setup.sh && getAndroidNDK command: source scripts/circle-ci-android-setup.sh && getAndroidNDK
- &yarn - &yarn
| |
@ -136,8 +136,8 @@ aliases:
source $BASH_ENV source $BASH_ENV
- &install-android-packages - &install-android-packages
| name: Install Android SDK Packages
source scripts/circle-ci-android-setup.sh && getAndroidSDK command: source scripts/circle-ci-android-setup.sh && getAndroidSDK
- &install-android-build-dependencies - &install-android-build-dependencies
name: Install Android Build Dependencies name: Install Android Build Dependencies
@ -145,6 +145,14 @@ aliases:
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install ant autoconf automake g++ gcc libqt5widgets5 lib32z1 lib32stdc++6 make maven python-dev python3-dev qml-module-qtquick-controls qtdeclarative5-dev file -y sudo apt-get install ant autoconf automake g++ gcc libqt5widgets5 lib32z1 lib32stdc++6 make maven python-dev python3-dev qml-module-qtquick-controls qtdeclarative5-dev file -y
- &validate-android-sdk
name: Validate Android SDK Install
command: ./scripts/validate-android-sdk.sh
- &validate-android-test-env
name: Validate Android Test Environment
command: ./scripts/validate-android-test-env.sh
# Test Definitions # Test Definitions
- &run-js-tests - &run-js-tests
name: JavaScript Test Suite name: JavaScript Test Suite
@ -444,6 +452,8 @@ jobs:
- run: *install-android-packages - run: *install-android-packages
- save-cache: *save-cache-android-packages - save-cache: *save-cache-android-packages
- run: *validate-android-sdk
# Starting emulator in advance as it takes some time to boot. # Starting emulator in advance as it takes some time to boot.
- run: *create-avd - run: *create-avd
- run: *launch-avd - run: *launch-avd
@ -461,6 +471,8 @@ jobs:
- run: *install-buck - run: *install-buck
- save-cache: *save-cache-buck - save-cache: *save-cache-buck
- run: *validate-android-test-env
- run: buck fetch ReactAndroid/src/test/java/com/facebook/react/modules - run: buck fetch ReactAndroid/src/test/java/com/facebook/react/modules
- run: buck fetch ReactAndroid/src/main/java/com/facebook/react - run: buck fetch ReactAndroid/src/main/java/com/facebook/react
- run: buck fetch ReactAndroid/src/main/java/com/facebook/react/shell - run: buck fetch ReactAndroid/src/main/java/com/facebook/react/shell

View File

@ -14,18 +14,23 @@ if [ -z "$(which buck)" ]; then
exit 1 exit 1
fi fi
if [ -z "$(buck --version)" ]; then BUCK_ACTUAL_COMMIT=$(buck --version)
BUCK_SUGGESTED_V="v2018.02.16.01"
BUCK_SUGGESTED_COMMIT="d743d2d0229852ce7c029ec257532d8916f6b2b7"
BUCK_SUGGESTED_COMMIT_FB="b9b76a3a5a086eb440a26d1db9b0731875975099"
if [ -z "$BUCK_ACTUAL_COMMIT" ]; then
echo "Your Buck install is broken." echo "Your Buck install is broken."
if [ -d "/opt/facebook" ]; then if [ -d "/opt/facebook" ]; then
SUGGESTED="b9b76a3a5a086eb440a26d1db9b0731875975099" BUCK_SUGGESTED_COMMIT_FB="b9b76a3a5a086eb440a26d1db9b0731875975099"
echo "FB laptops ship with a Buck config that is not compatible with open " echo "FB laptops ship with a Buck config that is not compatible with open "
echo "source. FB Buck requires the environment to set a buck version, but " echo "source. FB Buck requires the environment to set a buck version, but "
echo "the open source version of Buck forbids that." echo "the open source version of Buck forbids that."
echo echo
echo "You can try setting:" echo "You can try setting:"
echo echo
echo "export BUCKVERSION=${SUGGESTED}" echo "export BUCKVERSION=${BUCK_SUGGESTED_COMMIT_FB}"
echo echo
echo "in your .bashrc or .bash_profile to fix this." echo "in your .bashrc or .bash_profile to fix this."
echo echo
@ -33,12 +38,18 @@ if [ -z "$(buck --version)" ]; then
echo "your machine, you can just scope it to a single script, for example" echo "your machine, you can just scope it to a single script, for example"
echo "by running something like:" echo "by running something like:"
echo echo
echo "BUCKVERSION=${SUGGESTED} $0" echo "BUCKVERSION=${BUCK_SUGGESTED_COMMIT_FB} $0"
echo echo
else else
echo "I don't know what's wrong, but calling 'buck --version' should work." echo "I don't know what's wrong, but calling 'buck --version' should work."
fi fi
exit 1 exit 1
else
if [ "$BUCK_ACTUAL_COMMIT" == "$BUCK_SUGGESTED_COMMIT" ]; then
echo "${BUCK_ACTUAL_COMMIT}"
elif [ ! -d "/opt/facebook" ]; then
echo "Warn: The test suite expects buck version ${BUCK_SUGGESTED_COMMIT} (${BUCK_SUGGESTED_V}) to be installed, but found ${BUCK_ACTUAL_COMMIT} instead"
fi
fi fi
# BUILD_TOOLS_VERSION is in a format like "23.0.1" # BUILD_TOOLS_VERSION is in a format like "23.0.1"