Skip to content

Commit b0ed6bd

Browse files
committed
ci(travis): Update Travis CI configuration for new paramedic (#227)
* Update Travis CI configuration for new paramedic * Update .travis.yml * remove failing platforms
1 parent b1c1353 commit b0ed6bd

File tree

1 file changed

+102
-75
lines changed

1 file changed

+102
-75
lines changed

.travis.yml

Lines changed: 102 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,113 @@
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
6+
27
addons:
38
jwt:
9+
# SAUCE_ACCESS_KEY
410
secure: M4uBGUMbanDtCBrNktJhEwNSLL0UsOV3IoINqW3GRupX7Mr13MBZzsORm4HVbdbPxQ6Bf2LhyJ/fabQRsOoJrCokgWwfKkigztQcMFeLNao9liBRA6kuQOh5/rdfoULpu96GvlYzB4ddgSBSSGQW3DesaKC/BpTXnvQ4OnXo5e4=
11+
512
env:
613
global:
7-
- SAUCE_USERNAME=snay
8-
- TRAVIS_NODE_VERSION="6.14.2"
14+
- SAUCE_USERNAME=snay
15+
- TRAVIS_NODE_VERSION=6
16+
- ANDROID_API_LEVEL=28
17+
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
18+
19+
language: node_js
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
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+
942
matrix:
1043
include:
11-
- env: PLATFORM=browser-chrome
12-
os: linux
13-
language: node_js
14-
node_js: '6.14.2'
15-
- env: PLATFORM=browser-firefox
16-
os: linux
17-
language: node_js
18-
node_js: '6.14.2'
19-
- env: PLATFORM=browser-safari
20-
os: linux
21-
language: node_js
22-
node_js: '6.14.2'
23-
- env: PLATFORM=browser-edge
24-
os: linux
25-
language: node_js
26-
node_js: '6.14.2'
27-
- env: PLATFORM=ios-9.3
28-
os: osx
29-
osx_image: xcode8.3
30-
language: node_js
31-
node_js: '6.14.2'
32-
- env: PLATFORM=ios-10.0
33-
os: osx
34-
osx_image: xcode8.3
35-
language: node_js
36-
node_js: '6.14.2'
37-
- env: PLATFORM=android-4.4
38-
os: linux
39-
language: android
40-
jdk: oraclejdk8
41-
android:
42-
components:
43-
- tools
44-
- build-tools-26.0.2
45-
- env: PLATFORM=android-5.1
46-
os: linux
47-
language: android
48-
jdk: oraclejdk8
49-
android:
50-
components:
51-
- tools
52-
- build-tools-26.0.2
53-
- env: PLATFORM=android-6.0
54-
os: linux
55-
language: android
56-
jdk: oraclejdk8
57-
android:
58-
components:
59-
- tools
60-
- build-tools-26.0.2
61-
- env: PLATFORM=android-7.0
62-
os: linux
63-
language: android
64-
jdk: oraclejdk8
65-
android:
66-
components:
67-
- tools
68-
- build-tools-26.0.2
44+
# many tests with saucelabs
45+
- env: PLATFORM=browser-chrome
46+
- env: PLATFORM=browser-firefox
47+
- env: PLATFORM=browser-edge
48+
49+
- env: PLATFORM=ios-11.3
50+
<<: *_ios
51+
- env: PLATFORM=ios-12.0
52+
<<: *_ios
53+
- env: PLATFORM=ios-12.2
54+
<<: *_ios
55+
56+
- env: PLATFORM=android-5.1
57+
<<: *_android
58+
- env: PLATFORM=android-6.0
59+
<<: *_android
60+
- env: PLATFORM=android-7.0
61+
<<: *_android
62+
- env: PLATFORM=android-7.1
63+
<<: *_android
64+
- env: PLATFORM=android-8.0
65+
<<: *_android
66+
- env: PLATFORM=android-8.1
67+
<<: *_android
68+
- env: PLATFORM=android-9.0
69+
<<: *_android
70+
6971
before_install:
70-
- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm
71-
&& git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm
72-
install $TRAVIS_NODE_VERSION
73-
- node --version
74-
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
75-
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
76-
- if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27;
77-
fi
78-
- git clone https://github.com/apache/cordova-paramedic /tmp/paramedic && pushd /tmp/paramedic
79-
&& npm install && popd
80-
- npm install -g cordova
72+
# manually install Node for `language: android`
73+
- if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
74+
- node --version
75+
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
76+
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
77+
- npm install -g cordova
78+
# install paramedic if not running on paramedic repo
79+
- if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
80+
8181
install:
82-
- npm install
82+
- npm install
83+
84+
before_script:
85+
- |
86+
if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
87+
# when used in the cordova-paramedic repo
88+
TEST_COMMAND="npm run eslint"
89+
PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
90+
PARAMEDIC_COMMAND="node main.js"
91+
else
92+
# when used in any other (plugin) repo
93+
TEST_COMMAND="npm test"
94+
PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
95+
PARAMEDIC_COMMAND="cordova-paramedic"
96+
fi
97+
- PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
98+
- |
99+
echo "Variables now are set to:"
100+
echo "TEST_COMMAND=$TEST_COMMAND"
101+
echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
102+
echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
103+
echo "PLATFORM=$PLATFORM"
104+
echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
105+
echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
83106
script:
84-
- npm test
85-
- node /tmp/paramedic/main.js --config pr/$PLATFORM --plugin $(pwd) --shouldUseSauce
86-
--buildName travis-plugin-media-$TRAVIS_JOB_NUMBER
107+
- $TEST_COMMAND
108+
- if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
109+
cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
110+
else
111+
$PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
112+
fi
113+

0 commit comments

Comments
 (0)