From 9502ea2a8524fbed555d2b78741060d0540b8e6f Mon Sep 17 00:00:00 2001 From: sospartan Date: Tue, 28 Feb 2017 16:20:54 +0800 Subject: [PATCH 1/2] * [test] run android&js ci in linux --- .travis.yml | 48 +++++++++++++++++++++++++++++++++++++++-------- test/ci-funcs.sh | 49 +++++++++++++++++++++++++++--------------------- 2 files changed, 68 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2531dbb2e0..6f7077183e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,47 @@ -language: objective-c +os: + - osx + - linux +language: ruby rvm: 2.0.0 -osx_image: xcode8.2 -jdk: oraclejdk8 env: - matrix: - - TEST_SUITE=android - - TEST_SUITE=ios - - TEST_SUITE=danger - - TEST_SUITE=jsfm + - TEST_SUITE=ios + - TEST_SUITE=danger + - TEST_SUITE=jsfm + - TEST_SUITE=android matrix: fast_finish: true + exclude: + - os: linux + env: TEST_SUITE=ios + - os: linux + env: TEST_SUITE=danger + - os: osx + env: TEST_SUITE=jsfm + - os: osx + env: TEST_SUITE=android + - os: osx + env: TEST_SUITE=ios + - os: linux + env: TEST_SUITE=android + include: + - os: osx + env: TEST_SUITE=ios + osx_image: xcode8.2 + language: objective-c + - os: linux + env: TEST_SUITE=android + jdk: oraclejdk8 + language: android + android: + components: + - platform-tools + - tools + - build-tools-22.0.1 + - android-23 + - android-19 + - extra-google-m2repository + - extra-android-m2repository + - sys-img-armeabi-v7a-android-21 cache: directories: - node_modules diff --git a/test/ci-funcs.sh b/test/ci-funcs.sh index 9c7001902b..5a4c96a1cc 100644 --- a/test/ci-funcs.sh +++ b/test/ci-funcs.sh @@ -1,14 +1,14 @@ function installAndroidSDK { - brew install android-sdk - export ANDROID_HOME=/usr/local/opt/android-sdk - export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools - echo yes | android update sdk --all --no-ui --force -t 2 #platform tools - echo yes | android update sdk --all --no-ui --force -t 1 #tools - echo yes | android update sdk --all --no-ui --force -t 11 #build-tool - echo yes | android update sdk --all --no-ui --force -t 39 #sdk android-19 - echo yes | android update sdk --all --no-ui --force -t 35 #sdk android-23 - echo yes | android update sdk --all --no-ui --force -t 96 #sys-img - echo yes | android update sdk --all --no-ui --force -t 160 #support + # brew install android-sdk + # export ANDROID_HOME=/usr/local/opt/android-sdk + # export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools + echo yes | android update sdk --all --no-ui --force -t platform-tools #platform tools + echo yes | android update sdk --all --no-ui --force -t tools #tools + echo yes | android update sdk --all --no-ui --force -t build-tools-23.0.2 #build-tool + echo yes | android update sdk --all --no-ui --force -t android-19 #sdk android-19 + echo yes | android update sdk --all --no-ui --force -t android-23 #sdk android-23 + echo yes | android update sdk --all --no-ui --force -t sys-img-armeabi-v7a-android-21 #sys-img + echo yes | android update sdk --all --no-ui --force -t extra-android-m2repository #support } function createAVD { @@ -38,22 +38,29 @@ function setup_cpt { target=${1:-$target_android} + setupBasic + if [ $target = $target_android ]; then - setupBasic - installAndroidSDK - JAVA_HOME=$(/usr/libexec/java_home) npm install -g macaca-android + # setupBasic + # installAndroidSDK + npm install -g macaca-cli + npm install -g macaca-android createAVD startAVD & npm install export DISPLAY=:99.0 elif [ $target = $target_ios ] then - setupBasic + # setupBasic + npm install -g macaca-cli + brew update + brew install ios-webkit-debug-proxy npm install -g macaca-ios npm install gem install danger danger-xcode_summary xcpretty xcpretty-json-formatter elif [ $target = $target_jsfm ] then + # setupBasic npm install else gem install danger danger-xcode_summary xcpretty xcpretty-json-formatter @@ -61,13 +68,13 @@ function setup_cpt { } function setupBasic { - brew update - brew install nvm + curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" export CHROME_BIN=chromium-browser - source $(brew --prefix nvm)/nvm.sh nvm install 7.0.0 - brew install ios-webkit-debug-proxy - npm install -g macaca-cli + nvm use 7.0.0 + } function printEnvInfo { @@ -89,10 +96,10 @@ function test_cpt { if [ $target = $target_android ]; then ./test/serve.sh 2&>1 > /dev/null & - export ANDROID_HOME=/usr/local/opt/android-sdk + # export ANDROID_HOME=/usr/local/opt/android-sdk cd android && ./run-ci.sh && cd $TRAVIS_BUILD_DIR waitForEmulator - JAVA_HOME=$(/usr/libexec/java_home) run_in_ci=true ./test/run.sh + run_in_ci=true ./test/run.sh elif [ $target = $target_ios ] then ./test/serve.sh 2&>1 > /dev/null & From 81e2a13687ff0fd77a34464b652de718473094e3 Mon Sep 17 00:00:00 2001 From: sospartan Date: Tue, 28 Feb 2017 21:02:05 +0800 Subject: [PATCH 2/2] * [test] update travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6f7077183e..09416c496c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,7 @@ matrix: components: - platform-tools - tools - - build-tools-22.0.1 + - build-tools-23.0.2 - android-23 - android-19 - extra-google-m2repository