From 8c74864d7bff16ccfd5179ea399b0bc4adaef69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ramos?= Date: Wed, 16 May 2018 08:49:57 -0700 Subject: [PATCH] Update Android packages cache key Summary: Packages are now defined in `scripts/.tests.env`, so the checksum is updated accordingly. We also throw away the cache if the checksum fails as not doing so may prevent us from picking up new packages due to the filesystem check in `scripts/android-setup.sh`#getAndroidPackages(), as the presence of the `installed-dependencies` file restored from cache will incorrectly flag all deps as being installed. Closes https://github.com/facebook/react-native/pull/19298 Differential Revision: D8025918 Pulled By: hramos fbshipit-source-id: 189492baac2fea39280884ea20e376a368e23c2e --- .circleci/config.yml | 5 ++--- scripts/.tests.env | 2 ++ scripts/android-setup.sh | 7 ++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index eb83b1dcc..4e49f255a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,12 +22,11 @@ aliases: - &restore-cache-android-packages keys: - - v1-android-sdkmanager-packages-{{ arch }}-api-26-alpha-{{ checksum "scripts/android-setup.sh" }} - - v1-android-sdkmanager-packages-{{ arch }}-api-26-alpha- + - v1-android-sdkmanager-packages-api-26-alpha-{{ checksum "scripts/.tests.env" }} - &save-cache-android-packages paths: - /opt/android/sdk - key: v1-android-sdkmanager-packages-{{ arch }}-api-26-alpha-{{ checksum "scripts/android-setup.sh" }} + key: v1-android-sdkmanager-packages-api-26-alpha-{{ checksum "scripts/.tests.env" }} - &restore-cache-gradle keys: diff --git a/scripts/.tests.env b/scripts/.tests.env index 9bbc63b24..ab318809f 100644 --- a/scripts/.tests.env +++ b/scripts/.tests.env @@ -7,6 +7,8 @@ export ANDROID_SDK_BUILD_TOOLS_REVISION=26.0.3 # Android API Level we build with export ANDROID_SDK_BUILD_API_LEVEL="26" +# Google APIs for Android level +export ANDROID_GOOGLE_API_LEVEL="23" # Minimum Android API Level we target export ANDROID_SDK_TARGET_API_LEVEL="19" # Android Virtual Device name diff --git a/scripts/android-setup.sh b/scripts/android-setup.sh index 877342874..6492173f3 100644 --- a/scripts/android-setup.sh +++ b/scripts/android-setup.sh @@ -16,9 +16,10 @@ function getAndroidPackages { echo "Installing target SDK for Android API level $ANDROID_SDK_TARGET_API_LEVEL..." sdkmanager "platforms;android-$ANDROID_SDK_TARGET_API_LEVEL" echo "Installing SDK build tools, revision $ANDROID_SDK_BUILD_TOOLS_REVISION..." - sdkmanager "build-tools;android-$ANDROID_SDK_BUILD_TOOLS_REVISION" - echo "Installing Google APIs for Android API level $ANDROID_SDK_BUILD_API_LEVEL..." - sdkmanager "add-ons;addon-google_apis-google-$ANDROID_SDK_BUILD_API_LEVEL" + sdkmanager "build-tools;$ANDROID_SDK_BUILD_TOOLS_REVISION" + # These moved to "system-images;android-$ANDROID_SDK_BUILD_API_LEVEL;google_apis;x86" starting with API level 25, but there is no ARM version. + echo "Installing Google APIs $ANDROID_GOOGLE_API_LEVEL..." + sdkmanager "add-ons;addon-google_apis-google-$ANDROID_GOOGLE_API_LEVEL" echo "Installing Android Support Repository" sdkmanager "extras;android;m2repository" $CI && touch $DEPS