Skip to content

Commit a538bfe

Browse files
authored
ci(travis): Update Travis CI configuration for new paramedic (#139)
* Update Travis CI configuration for new paramedic * remove wrong ADDITIONAL_TESTS_DIR * Update .travis.yml
1 parent 003fa61 commit a538bfe

File tree

1 file changed

+85
-37
lines changed

1 file changed

+85
-37
lines changed

.travis.yml

Lines changed: 85 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +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: Rd/wGSUWGWbc0Y/vqPgI29nybq+j/zWilEIOCBJeRQVwfubdbJNZUIb5DFlSSVzMEavkxZ0PYJ45h21iXyWo3aOoxUJwhkO7QZNzW2MsYzy9qpiKK1jOESXMrpboRWoxg+BL85YbaDF3u1XRy+Xm1nraStT6mDfx5LlUG1Lac6A=
611

712
env:
813
global:
914
- SAUCE_USERNAME=snay
1015
- TRAVIS_NODE_VERSION=6
16+
- ANDROID_API_LEVEL=28
17+
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
1118

1219
language: node_js
1320
node_js: 6
1421

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+
1542
matrix:
1643
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
1751
- env: PLATFORM=browser-chrome
1852
- env: PLATFORM=browser-firefox
1953
- env: PLATFORM=browser-safari
2054
- env: PLATFORM=browser-edge
21-
- env: PLATFORM=ios-9.3
22-
os: osx
23-
osx_image: xcode7.3
24-
- env: PLATFORM=ios-10.0
25-
os: osx
26-
osx_image: xcode7.3
27-
- env: PLATFORM=android-4.4
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-
language: android
36-
jdk: oraclejdk8
37-
android:
38-
components:
39-
- tools
40-
- build-tools-26.0.2
64+
<<: *_android
4165
- env: PLATFORM=android-6.0
42-
language: android
43-
jdk: oraclejdk8
44-
android:
45-
components:
46-
- tools
47-
- build-tools-26.0.2
66+
<<: *_android
4867
- env: PLATFORM=android-7.0
49-
language: android
50-
jdk: oraclejdk8
51-
android:
52-
components:
53-
- tools
54-
- 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
5577

5678
before_install:
57-
# `language: android` has no Node.js installed, therefore we need to install it manually
58-
- 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
5981
- node --version
6082
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
6183
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
62-
- if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27; fi
63-
- npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git
6484
- 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
6587

6688
install:
6789
- npm install
6890

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"
69113
script:
70-
- npm test
71-
- 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)