1+ # This Travis configuration file is built after a Cordova Paramedic
2+ # specific template with minimal modifications and adaptations:
3+ # https://github.com/apache/cordova-paramedic/blob/master/.travis.yml
4+
15sudo : false
26
37addons :
48 jwt :
9+ # SAUCE_ACCESS_KEY
510 secure : TZ88IEvAw1bsWPWxvDzXdpi2NK0i3PN4hG15+vDpIt6wXGVPknjxuXWJeLj7TqBpAIvP7XDfS8ZvHVPLe7fe8oOchZPLuiDw9VVIk6cnHjE6wpoavdGc/1mDJ3Bi4PDcHwRUr5ng5spYQqqlTwcECkH/q7iPgudiFM6rlOlGRyA=
611
712env :
1217 - ANDROID_BUILD_TOOLS_VERSION=28.0.3
1318
1419language : node_js
15- node_js : 6
20+ node_js : 6
21+
22+ # yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
23+
24+ _ios : &_ios
25+ os : osx
26+ osx_image : xcode10.2
1627
17- # anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
1828_android : &_android
1929 language : android
2030 os : linux
@@ -31,24 +41,23 @@ _android: &_android
3141
3242matrix :
3343 include :
34- # # one local test, without saucelabs
35- # - env: PLATFORM=local
36- # os: osx
37- # osx_image: xcode9
44+ # local tests, without saucelabs
45+ - env : PLATFORM=local/browser
46+ << : *_ios
47+ - env : PLATFORM=local/ios-10.0
48+ << : *_ios
3849
3950 # many tests with saucelabs
40-
4151 - env : PLATFORM=browser-chrome
4252 - env : PLATFORM=browser-firefox
4353 - env : PLATFORM=browser-safari
4454 - env : PLATFORM=browser-edge
4555
46- - env : PLATFORM=ios-10.0
47- os : osx
48- osx_image : xcode9
49-
50- - env : PLATFORM=android-4.4
51- << : *_android
56+ - env : PLATFORM=ios-11.3
57+ << : *_ios
58+ - env : PLATFORM=ios-12.0
59+ << : *_ios
60+
5261 - env : PLATFORM=android-5.1
5362 << : *_android
5463 - env : PLATFORM=android-6.0
@@ -61,24 +70,48 @@ matrix:
6170 << : *_android
6271 - env : PLATFORM=android-8.1
6372 << : *_android
73+ - env : PLATFORM=android-9.0
74+ << : *_android
6475
6576before_install :
66- - rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm
67- && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm
68- install $TRAVIS_NODE_VERSION
69- - node --version
70- - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
71- - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
72- - if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27;
73- fi
74- - git clone https://github.com/apache/cordova-paramedic /tmp/paramedic && pushd /tmp/paramedic
75- && npm install && popd
76- - npm install -g cordova
77+ # manually install Node for `language: android`
78+ - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
79+ - node --version
80+ - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
81+ - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
82+ - npm install -g cordova
83+ # install paramedic if not running on paramedic repo
84+ - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
7785
7886install :
79- - npm install
87+ - npm install
8088
89+ before_script :
90+ - |
91+ if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
92+ # when used in the cordova-paramedic repo
93+ TEST_COMMAND="npm run eslint"
94+ PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
95+ PARAMEDIC_COMMAND="node main.js"
96+ else
97+ # when used in any other (plugin) repo
98+ TEST_COMMAND="npm test"
99+ PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
100+ PARAMEDIC_COMMAND="cordova-paramedic"
101+ fi
102+ - PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
103+ - |
104+ echo "Variables now are set to:"
105+ echo "TEST_COMMAND=$TEST_COMMAND"
106+ echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
107+ echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
108+ echo "PLATFORM=$PLATFORM"
109+ echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
110+ echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
81111script :
82- - npm test
83- - node /tmp/paramedic/main.js --config pr/$PLATFORM --plugin $(pwd) --shouldUseSauce
84- --buildName travis-plugin-inappbrowser-$TRAVIS_JOB_NUMBER
112+ - $TEST_COMMAND
113+ - if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
114+ cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
115+ else
116+ $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
117+ fi
0 commit comments