blob: 4dc49e4aba011bdc28b11004c36d8b75e484229d [file] [log] [blame]
# 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: rjC2avwYWiw+oTHleXcJPlehTA2j0jRZj+UJHq7fRCJRYIsraKy2j9q3fOSjWR7MEvf+/hUwhmf4gFk2zrDukbc0x3rMdt47BwNtbpCTN05KbHebl5AH0xx0ZPkJ5N0tJqG2t4Bl9wqNRINOMES77Souduh4udQdtGfA9IBmhb0FPNHmW0J++essbNjd5b5MgitqgTi30x7Tvf9QYMmsTKpN8pdfbE29dgqiY/HTKbxyOU+X2Ed5mcMi/bGhSGU78JU3u91S0VA+w+bmNZIU4VeXEFbDkjIboPR41aIbsfHrk/41+k6BAcOurKJ1TxBNEVxL8ouZfAuPDWhJVABxdbtYAiem309nuUJ0fR05qtX9AO1mmMh+0xByyme2xjSjTvt6bzZLNm2EdS6dO5FmG8aBVX4JJCHkTM5wrA5MgRFbEcgfv5jp3ynvY7dNasfaOLFa+IxZ5qzPdzkXnTEwvwe7ioo5phMGbpefFrimDl/vy1QJdTTCUcvaXkqumQdJwaySYDq3Nsns10yDPEATI1NtZGHLbUM+W+ZOaoTZRKwRelLHF5oyOQnyIu2HzBfJS7pHlIbQaxtigWHuSWuee+sfmTPjj40y4uUqQAEDxmawKb6Y6xqQr+QpvI9pvpzeZYHdApNBe6mPDVh4hwgjlFhE3/iusnU+aeZHIUJEmME=
env:
global:
- SAUCE_USERNAME=snay
- TRAVIS_NODE_VERSION=8
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
matrix:
include:
# additional `npm test` in directory
- env: ADDITIONAL_TESTS_DIR=./tests/ios
<<: *_ios
# many tests with saucelabs
- env: PLATFORM=ios-11.3
<<: *_ios
- env: PLATFORM=ios-12.0
<<: *_ios
- env: PLATFORM=ios-12.2
<<: *_ios
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