Skip to content

Commit 102f757

Browse files
authored
ci(travis): Update Travis CI configuration for new paramedic (#89)
* Update Travis CI configuration for new paramedic * remove wrong ADDITIONAL_TESTS_DIR * Update .travis.yml * Update .travis.yml * Update .travis.yml
1 parent 27b0e39 commit 102f757

File tree

1 file changed

+87
-41
lines changed

1 file changed

+87
-41
lines changed

.travis.yml

Lines changed: 87 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,119 @@
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: iFkpgKg4VvsMDC/5MSUGZAOM+vVMWqLPK6qgwdMFvCym+eySk0LKRUi9BmgFMyy9qDGVlg8Sqkgg8ElbdjJbai5m2N/0e1MW2YqSGAvJx1FkWp8uaVDmkBCXO+VKOCQmujyxi6RbUPvMhUI5kzjMuKu0pi8QYg/bqLbdBR2TRis=
11+
612
env:
713
global:
814
- SAUCE_USERNAME=snay
915
- TRAVIS_NODE_VERSION=6
16+
- ANDROID_API_LEVEL=28
17+
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
1018

1119
language: node_js
1220
node_js: 6
1321

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-.+'
41+
1442
matrix:
1543
include:
44+
# local tests, without saucelabs
45+
- env: PLATFORM=local/browser
46+
<<: *_ios
47+
- env: PLATFORM=local/ios-10.0
48+
<<: *_ios
49+
50+
# many tests with saucelabs
1651
- env: PLATFORM=browser-chrome
1752
- env: PLATFORM=browser-firefox
1853
- env: PLATFORM=browser-safari
1954
- env: PLATFORM=browser-edge
20-
- env: PLATFORM=ios-9.3
21-
os: osx
22-
osx_image: xcode7.3
23-
- env: PLATFORM=ios-10.0
24-
os: osx
25-
osx_image: xcode7.3
26-
- env: PLATFORM=android-4.4
27-
os: linux
28-
language: android
29-
jdk: oraclejdk8
30-
android:
31-
components:
32-
- tools
33-
- build-tools-26.0.2
55+
56+
- env: PLATFORM=ios-11.3
57+
<<: *_ios
58+
- env: PLATFORM=ios-12.0
59+
<<: *_ios
60+
- env: PLATFORM=ios-12.2
61+
<<: *_ios
62+
3463
- env: PLATFORM=android-5.1
35-
os: linux
36-
language: android
37-
jdk: oraclejdk8
38-
android:
39-
components:
40-
- tools
41-
- build-tools-26.0.2
64+
<<: *_android
4265
- env: PLATFORM=android-6.0
43-
os: linux
44-
language: android
45-
jdk: oraclejdk8
46-
android:
47-
components:
48-
- tools
49-
- build-tools-26.0.2
66+
<<: *_android
5067
- env: PLATFORM=android-7.0
51-
os: linux
52-
language: android
53-
jdk: oraclejdk8
54-
android:
55-
components:
56-
- tools
57-
- build-tools-26.0.2
68+
<<: *_android
69+
- env: PLATFORM=android-7.1
70+
<<: *_android
71+
- env: PLATFORM=android-8.0
72+
<<: *_android
73+
- env: PLATFORM=android-8.1
74+
<<: *_android
75+
- env: PLATFORM=android-9.0
76+
<<: *_android
77+
5878
before_install:
59-
# `language: android` has no Node.js installed, therefore we need to install it manually
60-
- if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
79+
# manually install Node for `language: android`
80+
- if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
6181
- node --version
6282
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
6383
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
64-
- if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27,android-28; fi
65-
- npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git
6684
- npm install -g cordova
85+
# install paramedic if not running on paramedic repo
86+
- if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
6787

6888
install:
6989
- npm install
7090

91+
before_script:
92+
- |
93+
if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
94+
# when used in the cordova-paramedic repo
95+
TEST_COMMAND="npm run eslint"
96+
PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
97+
PARAMEDIC_COMMAND="node main.js"
98+
else
99+
# when used in any other (plugin) repo
100+
TEST_COMMAND="npm test"
101+
PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
102+
PARAMEDIC_COMMAND="cordova-paramedic"
103+
fi
104+
- PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
105+
- |
106+
echo "Variables now are set to:"
107+
echo "TEST_COMMAND=$TEST_COMMAND"
108+
echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
109+
echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
110+
echo "PLATFORM=$PLATFORM"
111+
echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
112+
echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
71113
script:
72-
- npm test
73-
- cordova-paramedic --config pr/$PLATFORM --plugin $TRAVIS_BUILD_DIR --shouldUseSauce --buildName travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
114+
- $TEST_COMMAND
115+
- if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
116+
cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
117+
else
118+
$PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
119+
fi

0 commit comments

Comments
 (0)