ci(travis): Update Travis CI configuration for new paramedic (#455)

* Update .travis.yml

* ADDITIONAL_TESTS

* npm install github:apache/cordova-paramedic\#plugin-test-fixes

* undo

* fix

* ADDITIONAL_TESTS_DIR

* Update .travis.yml

* update to npm 8 for `npm install appium`
This commit is contained in:
Jan Piotrowski 2019-06-20 13:25:28 +02:00 committed by GitHub
parent 295e928784
commit cffd0ac825
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,71 +1,116 @@
# 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 sudo: false
addons: addons:
jwt: jwt:
# SAUCE_ACCESS_KEY
secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s= secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s=
env: env:
global: global:
- SAUCE_USERNAME=snay - SAUCE_USERNAME=snay
- TRAVIS_NODE_VERSION=6 - TRAVIS_NODE_VERSION=8
- ANDROID_API_LEVEL=28
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
language: node_js language: node_js
node_js: 6 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: matrix:
include: include:
- env: TEST_DIR=. # additional tests
language: objective-c - env: ADDITIONAL_TESTS_DIR=./tests/ios
language: objective-c
- env: TEST_DIR=./tests/ios # local tests, without saucelabs
language: objective-c - env: PLATFORM=local/browser
<<: *_ios
- env: PLATFORM=local/ios-10.0
<<: *_ios
- env: PLATFORM=browser-chrome # many tests with saucelabs
- env: PLATFORM=browser-firefox - env: PLATFORM=browser-chrome
- env: PLATFORM=browser-safari - env: PLATFORM=browser-firefox
- env: PLATFORM=browser-edge - env: PLATFORM=browser-safari
- env: PLATFORM=browser-edge
- env: PLATFORM=ios-10.0 - env: PLATFORM=ios-11.3
os: osx <<: *_ios
osx_image: xcode9 - env: PLATFORM=ios-12.0
<<: *_ios
- env: PLATFORM=ios-12.2
<<: *_ios
- env: PLATFORM=android-7.0 - env: PLATFORM=android-5.1
os: linux <<: *_android
language: android - env: PLATFORM=android-6.0
jdk: oraclejdk8 <<: *_android
android: - env: PLATFORM=android-7.0
components: <<: *_android
- tools - env: PLATFORM=android-7.1
- build-tools-28.0.3 <<: *_android
- android-28 - env: PLATFORM=android-8.0
- extra-android-m2repository <<: *_android
licenses: - env: PLATFORM=android-8.1
- 'android-sdk-preview-license-.+' <<: *_android
- 'android-sdk-license-.+' - env: PLATFORM=android-9.0
- 'google-gdk-license-.+' <<: *_android
before_install: before_install:
# `language: android` has no Node.js installed, therefore we need to install it manually # manually install Node for `language: android`
- if [[ "$PLATFORM" =~ android ]]; then - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
nvm install $TRAVIS_NODE_VERSION; - node --version
gradle --version; - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
fi - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
- if [[ "$PLATFORM" =~ ios ]]; then
npm install -g ios-deploy;
fi
- npm install -g github:apache/cordova-paramedic
- npm install -g cordova - 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: install:
- npm install - npm install
script: before_script:
- if [[ "$TEST_DIR" != "" ]]; then - |
cd $TEST_DIR; if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
npm install; # when used in the cordova-paramedic repo
npm test; TEST_COMMAND="npm run eslint"
else PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
cordova-paramedic --config pr/$PLATFORM --plugin . --shouldUseSauce --buildName travis-plugin-camera-$TRAVIS_JOB_NUMBER; 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
- 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 fi