UNPKG

3.29 kBYAMLView Raw
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
5sudo: false
6
7addons:
8 jwt:
9 # SAUCE_ACCESS_KEY
10 secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s=
11
12env:
13 global:
14 - SAUCE_USERNAME=snay
15 - TRAVIS_NODE_VERSION=8
16 - ANDROID_API_LEVEL=28
17 - ANDROID_BUILD_TOOLS_VERSION=28.0.3
18
19language: node_js
20node_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-.+'
41
42matrix:
43 include:
44 # additional tests
45 - env: ADDITIONAL_TESTS_DIR=./tests/ios
46 language: objective-c
47
48 # local tests, without saucelabs
49 - env: PLATFORM=local/browser
50 <<: *_ios
51 - env: PLATFORM=local/ios-10.0
52 <<: *_ios
53
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
59
60 - env: PLATFORM=ios-11.3
61 <<: *_ios
62 - env: PLATFORM=ios-12.0
63 <<: *_ios
64 - env: PLATFORM=ios-12.2
65 <<: *_ios
66
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
81
82before_install:
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
88 - 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
91
92install:
93 - npm install
94
95before_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
110script:
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;
116 fi