Skip to content

Commit cffd0ac

Browse files
authored
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`
1 parent 295e928 commit cffd0ac

File tree

1 file changed

+90
-45
lines changed

1 file changed

+90
-45
lines changed

.travis.yml

+90-45
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,116 @@
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+
15
sudo: false
26

37
addons:
48
jwt:
9+
# SAUCE_ACCESS_KEY
510
secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s=
611

712
env:
813
global:
9-
- SAUCE_USERNAME=snay
10-
- TRAVIS_NODE_VERSION=6
14+
- SAUCE_USERNAME=snay
15+
- TRAVIS_NODE_VERSION=8
16+
- ANDROID_API_LEVEL=28
17+
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
1118

1219
language: node_js
13-
node_js: 6
20+
node_js: 8
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
27+
28+
_android: &_android
29+
language: android
30+
os: linux
31+
jdk: oraclejdk8
32+
android:
33+
components:
34+
- tools
35+
- build-tools-$ANDROID_BUILD_TOOLS_VERSION
36+
- android-$ANDROID_API_LEVEL
37+
licenses:
38+
- 'android-sdk-preview-license-.+'
39+
- 'android-sdk-license-.+'
40+
- 'google-gdk-license-.+'
1441

1542
matrix:
1643
include:
17-
- env: TEST_DIR=.
18-
language: objective-c
44+
# additional tests
45+
- env: ADDITIONAL_TESTS_DIR=./tests/ios
46+
language: objective-c
1947

20-
- env: TEST_DIR=./tests/ios
21-
language: objective-c
48+
# local tests, without saucelabs
49+
- env: PLATFORM=local/browser
50+
<<: *_ios
51+
- env: PLATFORM=local/ios-10.0
52+
<<: *_ios
2253

23-
- env: PLATFORM=browser-chrome
24-
- env: PLATFORM=browser-firefox
25-
- env: PLATFORM=browser-safari
26-
- env: PLATFORM=browser-edge
54+
# many tests with saucelabs
55+
- env: PLATFORM=browser-chrome
56+
- env: PLATFORM=browser-firefox
57+
- env: PLATFORM=browser-safari
58+
- env: PLATFORM=browser-edge
2759

28-
- env: PLATFORM=ios-10.0
29-
os: osx
30-
osx_image: xcode9
60+
- env: PLATFORM=ios-11.3
61+
<<: *_ios
62+
- env: PLATFORM=ios-12.0
63+
<<: *_ios
64+
- env: PLATFORM=ios-12.2
65+
<<: *_ios
3166

32-
- env: PLATFORM=android-7.0
33-
os: linux
34-
language: android
35-
jdk: oraclejdk8
36-
android:
37-
components:
38-
- tools
39-
- build-tools-28.0.3
40-
- android-28
41-
- extra-android-m2repository
42-
licenses:
43-
- 'android-sdk-preview-license-.+'
44-
- 'android-sdk-license-.+'
45-
- 'google-gdk-license-.+'
67+
- env: PLATFORM=android-5.1
68+
<<: *_android
69+
- env: PLATFORM=android-6.0
70+
<<: *_android
71+
- env: PLATFORM=android-7.0
72+
<<: *_android
73+
- env: PLATFORM=android-7.1
74+
<<: *_android
75+
- env: PLATFORM=android-8.0
76+
<<: *_android
77+
- env: PLATFORM=android-8.1
78+
<<: *_android
79+
- env: PLATFORM=android-9.0
80+
<<: *_android
4681

4782
before_install:
48-
# `language: android` has no Node.js installed, therefore we need to install it manually
49-
- if [[ "$PLATFORM" =~ android ]]; then
50-
nvm install $TRAVIS_NODE_VERSION;
51-
gradle --version;
52-
fi
53-
54-
- if [[ "$PLATFORM" =~ ios ]]; then
55-
npm install -g ios-deploy;
56-
fi
57-
58-
- npm install -g github:apache/cordova-paramedic
83+
# manually install Node for `language: android`
84+
- if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
85+
- node --version
86+
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
87+
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
5988
- npm install -g cordova
89+
# install paramedic if not running on paramedic repo
90+
- if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
6091

6192
install:
6293
- npm install
6394

95+
before_script:
96+
- |
97+
if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
98+
# when used in the cordova-paramedic repo
99+
TEST_COMMAND="npm run eslint"
100+
PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
101+
PARAMEDIC_COMMAND="node main.js"
102+
else
103+
# when used in any other (plugin) repo
104+
TEST_COMMAND="npm test"
105+
PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
106+
PARAMEDIC_COMMAND="cordova-paramedic"
107+
fi
108+
- PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
109+
64110
script:
65-
- if [[ "$TEST_DIR" != "" ]]; then
66-
cd $TEST_DIR;
67-
npm install;
68-
npm test;
69-
else
70-
cordova-paramedic --config pr/$PLATFORM --plugin . --shouldUseSauce --buildName travis-plugin-camera-$TRAVIS_JOB_NUMBER;
111+
- $TEST_COMMAND
112+
- if [[ "$ADDITIONAL_TESTS_DIR" != "" ]];
113+
then cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
114+
else
115+
$PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
71116
fi

0 commit comments

Comments
 (0)