87 lines
2.7 KiB
YAML
87 lines
2.7 KiB
YAML
language: generic
|
|
sudo: true
|
|
|
|
env:
|
|
global:
|
|
# PATH order is incredibly important. e.g. the 'emulator' script exists in more than one place!
|
|
- ANDROID_HOME=/usr/local/android-sdk
|
|
- TOOLS=${ANDROID_HOME}/tools
|
|
- PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator:${TOOLS}:${TOOLS}/bin:${ANDROID_HOME}/platform-tools:${PATH}
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
include:
|
|
- os: osx
|
|
osx_image: xcode11.5
|
|
env: RNVERSION=59 NODE=10
|
|
- os: osx
|
|
osx_image: xcode11.5
|
|
env: RNVERSION=60 NODE=12
|
|
- os: osx
|
|
osx_image: xcode11.5
|
|
env: RNVERSION=60 NODE=node
|
|
- os: linux
|
|
env: RNVERSION=60 NODE=10
|
|
- os: linux
|
|
env: RNVERSION=61 NODE=12
|
|
- os: linux
|
|
env: RNVERSION=62 NODE=12
|
|
- os: linux
|
|
env: RNVERSION=62 NODE=14
|
|
- os: linux
|
|
env: RNVERSION=59 NODE=12
|
|
- os: linux
|
|
env: RNVERSION=59 NODE=node
|
|
allow_failures:
|
|
- env: RNVERSION=60 NODE=node
|
|
|
|
before_install:
|
|
- ANDROID_TOOLS=4333796 # android-28
|
|
- export ANDROID_HOME=~/android-sdk
|
|
- |
|
|
if [ $TRAVIS_OS_NAME == "osx" ]; then
|
|
wget -q "https://dl.google.com/android/repository/sdk-tools-darwin-$ANDROID_TOOLS.zip" -O android-sdk-tools.zip
|
|
else
|
|
wget -q "https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_TOOLS.zip" -O android-sdk-tools.zip
|
|
fi
|
|
- unzip -q android-sdk-tools.zip -d ${ANDROID_HOME}
|
|
- rm android-sdk-tools.zip
|
|
- PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
|
|
# Silence warning.
|
|
- mkdir -p ~/.android
|
|
- touch ~/.android/repositories.cfg
|
|
# install correct version of java on osx
|
|
- |
|
|
if [ $TRAVIS_OS_NAME == "osx" ]; then
|
|
# skip brew update
|
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
|
brew cask uninstall java; brew tap AdoptOpenJDK/openjdk; brew cask install adoptopenjdk8;
|
|
else
|
|
PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/lib\/jvm\/openjdk11\/bin//');
|
|
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64;
|
|
fi
|
|
# Accept licenses before installing components, no need to echo y for each component
|
|
- yes | sdkmanager --licenses
|
|
# Platform tools
|
|
- sdkmanager "tools" "platform-tools" > /dev/null
|
|
# install older build tools (for emulator)
|
|
- sdkmanager "build-tools;25.0.2" "platforms;android-25" > /dev/null
|
|
# install modern build tools (for compilation)
|
|
- sdkmanager "build-tools;28.0.3" "platforms;android-28" > /dev/null
|
|
# Node.js management
|
|
- nvm install $NODE
|
|
- npm i -g react-native-cli
|
|
|
|
script:
|
|
- git clone https://github.com/mikehardy/rn-androidx-demo.git
|
|
- cd rn-androidx-demo && ./make-demo.sh
|
|
|
|
before_cache:
|
|
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
|
|
|
cache:
|
|
directories:
|
|
- $HOME/.npm
|
|
- $HOME/.gradle/caches/
|
|
- $HOME/.gradle/wrapper/
|