You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ja...@apache.org on 2019/05/09 23:07:50 UTC

[cordova-plugin-camera] 01/01: Update .travis.yml

This is an automated email from the ASF dual-hosted git repository.

janpio pushed a commit to branch janpio-new_travis_config
in repository https://gitbox.apache.org/repos/asf/cordova-plugin-camera.git

commit cde2d17625c1ee51e61abfaa19ee2cd6ef01ad5c
Author: Jan Piotrowski <pi...@gmail.com>
AuthorDate: Fri May 10 01:07:41 2019 +0200

    Update .travis.yml
---
 .travis.yml | 129 +++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 84 insertions(+), 45 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3ce07b5..b54407d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,70 +2,109 @@ sudo: false
 
 addons:
   jwt:
+    # sauce labs key
     secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s=
 
 env:
   global:
-  - SAUCE_USERNAME=snay
-  - TRAVIS_NODE_VERSION=6
+    - SAUCE_USERNAME=snay
+    - TRAVIS_NODE_VERSION=6
+    - ANDROID_API_LEVEL=28
+    - ANDROID_BUILD_TOOLS_VERSION=28.0.3
 
 language: node_js
 node_js: 6
 
+# yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
+
+_ios: &_ios
+  os: osx
+  osx_image: xcode10.2
+
+_android: &_android
+  language: android
+  os: linux
+  jdk: oraclejdk8
+  android:
+    components:
+      - tools
+      - build-tools-$ANDROID_BUILD_TOOLS_VERSION
+      - android-$ANDROID_API_LEVEL
+    licenses:
+      - 'android-sdk-preview-license-.+'
+      - 'android-sdk-license-.+'
+      - 'google-gdk-license-.+'
+
 matrix:
   include:
-  - env: TEST_DIR=.
-    language: objective-c
+    # ???
+    - env: TEST_DIR=.
+      language: objective-c
+    - env: TEST_DIR=./tests/ios
+      language: objective-c
 
-  - env: TEST_DIR=./tests/ios
-    language: objective-c
+    # one local test, without saucelabs
+    - env: PLATFORM=local/browser
+      <<: *_ios
+    - env: PLATFORM=local/ios-10.0
+      <<: *_ios
 
-  - env: PLATFORM=browser-chrome
-  - env: PLATFORM=browser-firefox
-  - env: PLATFORM=browser-safari
-  - env: PLATFORM=browser-edge
+    # many tests with saucelabs
+    - env: PLATFORM=browser-chrome
+    - env: PLATFORM=browser-firefox
+    - env: PLATFORM=browser-safari
+    - env: PLATFORM=browser-edge
 
-  - env: PLATFORM=ios-10.0
-    os: osx
-    osx_image: xcode9
+    - env: PLATFORM=ios-11.3
+      <<: *_ios
+    - env: PLATFORM=ios-12.0
+      <<: *_ios
+    - env: PLATFORM=ios-12.2
+      <<: *_ios
 
-  - env: PLATFORM=android-7.0
-    os: linux
-    language: android
-    jdk: oraclejdk8
-    android:
-      components:
-        - tools
-        - build-tools-28.0.3
-        - android-28
-        - extra-android-m2repository
-      licenses:
-        - 'android-sdk-preview-license-.+'
-        - 'android-sdk-license-.+'
-        - 'google-gdk-license-.+'
+    - env: PLATFORM=android-4.4
+      <<: *_android
+    - env: PLATFORM=android-5.1
+      <<: *_android
+    - env: PLATFORM=android-6.0
+      <<: *_android
+    - env: PLATFORM=android-7.0
+      <<: *_android
+    - env: PLATFORM=android-7.1
+      <<: *_android
+    - env: PLATFORM=android-8.0
+      <<: *_android
+    - env: PLATFORM=android-8.1
+      <<: *_android
 
 before_install:
-  # `language: android` has no Node.js installed, therefore we need to install it manually
-  - if [[ "$PLATFORM" =~ android ]]; then
-      nvm install $TRAVIS_NODE_VERSION;
-      gradle --version;
-    fi
-
-  - if [[ "$PLATFORM" =~ ios ]]; then
-      npm install -g ios-deploy;
-    fi
-
-  - npm install -g github:apache/cordova-paramedic
+  # manually install Node for `language: android`
+  - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi 
+  - node --version
+  - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
+  - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
   - npm install -g cordova
+  # install paramedic if not running on paramedic repo
+  - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi 
 
 install:
   - npm install
 
-script:
-  - if [[ "$TEST_DIR" != "" ]]; then
-      cd $TEST_DIR;
-      npm install;
-      npm test;
-    else
-      cordova-paramedic --config pr/$PLATFORM --plugin . --shouldUseSauce --buildName travis-plugin-camera-$TRAVIS_JOB_NUMBER;
+before_script:
+  - |
+    if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then 
+      # when used in the cordova-paramedic repo
+      TEST_COMMAND="npm run eslint"
+      PARAMEDIC_PLUGIN_TO_TEST=""./spec/testable-plugin/""
+      PARAMEDIC_COMMAND="node main.js"
+    else 
+      # when used in any other (plugin) repo
+      TEST_COMMAND="npm test"
+      PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
+      PARAMEDIC_COMMAND="cordova-paramedic"
     fi
+  - PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
+  
+script:
+  - $TEST_COMMAND
+  - $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org