| # This Travis configuration file is built after a Cordova Paramedic |
| # specific template with minimal modifications and adaptations: |
| # https://github.com/apache/cordova-paramedic/blob/master/.travis.yml |
| |
| sudo: false |
| |
| addons: |
| jwt: |
| # SAUCE_ACCESS_KEY |
| secure: CpTKIU5+sYxwFDRI73/Yjhm/pIzlTCRhVJRqe6SkN5WlrB+rtx2FLuwwBY5wAYMcUcRWLa4KOARFfdNSOU3z5EMZb4WiRfSrSZYLvrMA2qN9fuBg8RufNwcVXRo6TFJhlqOMsFx2mpjGcsV875Y5sZP62h+SbtdeMloHbWkFI3wjpVd7ut/U3/nBZ7e/cQqOdqFJc65EzMwUfDUvHAde259WhSUx5zEy1aCNNFvuCGYzvYL+B7wpweGVXgOlOLpxSAgWQte1esNGfa/+LKmdwD55OszScxvoSmiha0Ux2ctCUNxStD4mhSeGvDSdJFFWxvLEnZ769Yc7zh7/7yJ4iJxw3/G2yXXVCAPD2aXmsXcLD8x/KoiDwoTyOD9302FdXMTPaJEAD5inNkK69dftn5xfErBNb39JZTQuYcfav/DvFlqciTP5kCeIC3/t3zfeQcLbP5lgFoR+tTKbkvuUAl/Vo6mw1pt9BSSztbxgDJRHKXTi904WIonLlTSkZxMOD0Y2KVDHhNLzUcKA9YHt42FUp7T1EbsHsIzzwEFsR3cMaQp/Ku/X62mZscKycsrKoReX8hU1hAkWPwtxUtsKjHBVTkJNdPJLMpt53jVbh28EX09aY9niRm2puJDgWPHIqr99zEUlqLyLSKr4KERTz2ONq7wSSLv+AMeJgDyfyTE= |
| |
| env: |
| global: |
| - SAUCE_USERNAME=snay |
| - TRAVIS_NODE_VERSION=8 |
| - ANDROID_API_LEVEL=28 |
| - ANDROID_BUILD_TOOLS_VERSION=28.0.3 |
| |
| language: node_js |
| node_js: 8 |
| |
| # 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: |
| # 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-11.3 |
| <<: *_ios |
| - env: PLATFORM=ios-12.0 |
| <<: *_ios |
| - env: PLATFORM=ios-12.2 |
| <<: *_ios |
| |
| - 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 |
| - env: PLATFORM=android-9.0 |
| <<: *_android |
| |
| before_install: |
| # 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 |
| |
| 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: |
| - $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 |