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/10 18:36:48 UTC

[cordova-plugin-screen-orientation] 01/01: Update Travis CI configuration for new paramedic

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

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

commit b765739d2f3001880c5125851a84c07d51bc7a51
Author: Jan Piotrowski <pi...@gmail.com>
AuthorDate: Fri May 10 20:36:41 2019 +0200

    Update Travis CI configuration for new paramedic
---
 .travis.yml | 129 ++++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 87 insertions(+), 42 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3a347cc..3f198b2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,73 +2,118 @@ sudo: false
 
 addons:
   jwt:
+    # sauce labs key
     secure: CpTKIU5+sYxwFDRI73/Yjhm/pIzlTCRhVJRqe6SkN5WlrB+rtx2FLuwwBY5wAYMcUcRWLa4KOARFfdNSOU3z5EMZb4WiRfSrSZYLvrMA2qN9fuBg8RufNwcVXRo6TFJhlqOMsFx2mpjGcsV875Y5sZP62h+SbtdeMloHbWkFI3wjpVd7ut/U3/nBZ7e/cQqOdqFJc65EzMwUfDUvHAde259WhSUx5zEy1aCNNFvuCGYzvYL+B7wpweGVXgOlOLpxSAgWQte1esNGfa/+LKmdwD55OszScxvoSmiha0Ux2ctCUNxStD4mhSeGvDSdJFFWxvLEnZ769Yc7zh7/7yJ4iJxw3/G2yXXVCAPD2aXmsXcLD8x/KoiDwoTyOD9302FdXMTPaJEAD5inNkK69dftn5xfErBNb39JZTQuYcfav/DvFlqciTP5kCeIC3/t3zfeQcLbP5lgFoR+tTKbkvuUAl/Vo6mw1pt9 [...]
+
 env:
   global:
     - SAUCE_USERNAME=snay
     - TRAVIS_NODE_VERSION=6
+    - ANDROID_API_LEVEL=28
+    - ANDROID_BUILD_TOOLS_VERSION=28.0.3
 
 language: node_js
-node_js:
-  - "6"
+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:
+    # additional `npm test` in directory
+    - env: ADDITIONAL_TESTS_DIR=./spec/testable-plugin/tests/foo
+      <<: *_ios
+    
+    # local tests, without saucelabs
+    - env: PLATFORM=local/browser
+      <<: *_ios
+    - env: PLATFORM=local/ios-10.0
+      <<: *_ios
+
+    # many tests with saucelabs
     - env: PLATFORM=browser-chrome
     - env: PLATFORM=browser-firefox
     - env: PLATFORM=browser-safari
     - env: PLATFORM=browser-edge
-    - env: PLATFORM=ios-9.3
-      os: osx
-      osx_image: xcode7.3
-    - env: PLATFORM=ios-10.0
-      os: osx
-      osx_image: xcode7.3
+
+    - env: PLATFORM=ios-11.3
+      <<: *_ios
+    - env: PLATFORM=ios-12.0
+      <<: *_ios
+    - env: PLATFORM=ios-12.2
+      <<: *_ios
+
     - env: PLATFORM=android-4.4
-      os: linux
-      language: android
-      jdk: oraclejdk8
-      android:
-        components:
-        - tools
-        - build-tools-26.0.2
+      <<: *_android
     - env: PLATFORM=android-5.1
-      os: linux
-      language: android
-      jdk: oraclejdk8
-      android:
-        components:
-        - tools
-        - build-tools-26.0.2
+      <<: *_android
     - env: PLATFORM=android-6.0
-      os: linux
-      language: android
-      jdk: oraclejdk8
-      android:
-        components:
-        - tools
-        - build-tools-26.0.2
+      <<: *_android
     - env: PLATFORM=android-7.0
-      os: linux
-      language: android
-      jdk: oraclejdk8
-      android:
-        components:
-        - tools
-        - build-tools-26.0.2
+      <<: *_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; fi
+  # 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
-  - if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27; fi
-  - npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git
   - 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
 
+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
+  - |
+    echo "Variables now are set to:"
+    echo "TEST_COMMAND=$TEST_COMMAND"
+    echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
+    echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
+    echo "PLATFORM=$PLATFORM"
+    echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
+    echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
 script:
-  - npm test
-  - cordova-paramedic --config pr/$PLATFORM --plugin $TRAVIS_BUILD_DIR --shouldUseSauce --buildName travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
+  - $TEST_COMMAND
+  - if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
+      cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
+    else 
+      $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME; 
+    fi


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