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
+
1
5
sudo : false
2
6
3
7
addons :
4
8
jwt :
9
+ # SAUCE_ACCESS_KEY
5
10
secure : TZ88IEvAw1bsWPWxvDzXdpi2NK0i3PN4hG15+vDpIt6wXGVPknjxuXWJeLj7TqBpAIvP7XDfS8ZvHVPLe7fe8oOchZPLuiDw9VVIk6cnHjE6wpoavdGc/1mDJ3Bi4PDcHwRUr5ng5spYQqqlTwcECkH/q7iPgudiFM6rlOlGRyA=
6
11
7
12
env :
12
17
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
13
18
14
19
language : 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
16
27
17
- # anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
18
28
_android : &_android
19
29
language : android
20
30
os : linux
@@ -31,24 +41,23 @@ _android: &_android
31
41
32
42
matrix :
33
43
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
38
49
39
50
# many tests with saucelabs
40
-
41
51
- env : PLATFORM=browser-chrome
42
52
- env : PLATFORM=browser-firefox
43
53
- env : PLATFORM=browser-safari
44
54
- env : PLATFORM=browser-edge
45
55
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
+
52
61
- env : PLATFORM=android-5.1
53
62
<< : *_android
54
63
- env : PLATFORM=android-6.0
@@ -61,24 +70,48 @@ matrix:
61
70
<< : *_android
62
71
- env : PLATFORM=android-8.1
63
72
<< : *_android
73
+ - env : PLATFORM=android-9.0
74
+ << : *_android
64
75
65
76
before_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
77
85
78
86
install :
79
- - npm install
87
+ - npm install
80
88
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"
81
111
script :
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