.travis.yml 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. language: generic
  2. sudo: true
  3. env:
  4. global:
  5. # PATH order is incredibly important. e.g. the 'emulator' script exists in more than one place!
  6. - ANDROID_HOME=/usr/local/android-sdk
  7. - TOOLS=${ANDROID_HOME}/tools
  8. - PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator:${TOOLS}:${TOOLS}/bin:${ANDROID_HOME}/platform-tools:${PATH}
  9. matrix:
  10. fast_finish: true
  11. include:
  12. - os: osx
  13. osx_image: xcode11.5
  14. env: RNVERSION=59 NODE=10
  15. - os: osx
  16. osx_image: xcode11.5
  17. env: RNVERSION=60 NODE=12
  18. - os: osx
  19. osx_image: xcode11.5
  20. env: RNVERSION=60 NODE=node
  21. - os: linux
  22. env: RNVERSION=60 NODE=10
  23. - os: linux
  24. env: RNVERSION=61 NODE=12
  25. - os: linux
  26. env: RNVERSION=62 NODE=12
  27. - os: linux
  28. env: RNVERSION=62 NODE=14
  29. - os: linux
  30. env: RNVERSION=59 NODE=12
  31. - os: linux
  32. env: RNVERSION=59 NODE=node
  33. allow_failures:
  34. - env: RNVERSION=60 NODE=node
  35. before_install:
  36. - ANDROID_TOOLS=4333796 # android-28
  37. - export ANDROID_HOME=~/android-sdk
  38. - |
  39. if [ $TRAVIS_OS_NAME == "osx" ]; then
  40. wget -q "https://dl.google.com/android/repository/sdk-tools-darwin-$ANDROID_TOOLS.zip" -O android-sdk-tools.zip
  41. else
  42. wget -q "https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_TOOLS.zip" -O android-sdk-tools.zip
  43. fi
  44. - unzip -q android-sdk-tools.zip -d ${ANDROID_HOME}
  45. - rm android-sdk-tools.zip
  46. - PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
  47. # Silence warning.
  48. - mkdir -p ~/.android
  49. - touch ~/.android/repositories.cfg
  50. # install correct version of java on osx
  51. - |
  52. if [ $TRAVIS_OS_NAME == "osx" ]; then
  53. # skip brew update
  54. export HOMEBREW_NO_AUTO_UPDATE=1
  55. brew cask uninstall java; brew tap AdoptOpenJDK/openjdk; brew cask install adoptopenjdk8;
  56. else
  57. PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/lib\/jvm\/openjdk11\/bin//');
  58. JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64;
  59. fi
  60. # Accept licenses before installing components, no need to echo y for each component
  61. - yes | sdkmanager --licenses
  62. # Platform tools
  63. - sdkmanager "tools" "platform-tools" > /dev/null
  64. # install older build tools (for emulator)
  65. - sdkmanager "build-tools;25.0.2" "platforms;android-25" > /dev/null
  66. # install modern build tools (for compilation)
  67. - sdkmanager "build-tools;28.0.3" "platforms;android-28" > /dev/null
  68. # Node.js management
  69. - nvm install $NODE
  70. - npm i -g react-native-cli
  71. script:
  72. - git clone https://github.com/mikehardy/rn-androidx-demo.git
  73. - cd rn-androidx-demo && ./make-demo.sh
  74. before_cache:
  75. - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
  76. cache:
  77. directories:
  78. - $HOME/.npm
  79. - $HOME/.gradle/caches/
  80. - $HOME/.gradle/wrapper/