.travis.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. sudo: false
  5. addons:
  6. jwt:
  7. # SAUCE_ACCESS_KEY
  8. secure: QivPLlqTVvOo3TJeHxuBOfxU6lho1I0IxQ3b68yntkEQQJko6kzleXHfgjf0a8aw8m38E3+fxaBWF1bGyucGwOLDWY8Ddt2P2xg44zdXH5EXHd9oIqAgngIdzLvUtH3Db2TbQEtIGOkrnNR2STovjqB7vHGLASQrgs4oL7r32/s=
  9. env:
  10. global:
  11. - SAUCE_USERNAME=snay
  12. - TRAVIS_NODE_VERSION=8
  13. - ANDROID_API_LEVEL=28
  14. - ANDROID_BUILD_TOOLS_VERSION=28.0.3
  15. language: node_js
  16. node_js: 8
  17. # yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
  18. _ios: &_ios
  19. os: osx
  20. osx_image: xcode10.2
  21. _android: &_android
  22. language: android
  23. os: linux
  24. jdk: oraclejdk8
  25. android:
  26. components:
  27. - tools
  28. - build-tools-$ANDROID_BUILD_TOOLS_VERSION
  29. - android-$ANDROID_API_LEVEL
  30. licenses:
  31. - 'android-sdk-preview-license-.+'
  32. - 'android-sdk-license-.+'
  33. - 'google-gdk-license-.+'
  34. matrix:
  35. include:
  36. # additional tests
  37. - env: ADDITIONAL_TESTS_DIR=./tests/ios
  38. language: objective-c
  39. # local tests, without saucelabs
  40. - env: PLATFORM=local/browser
  41. <<: *_ios
  42. - env: PLATFORM=local/ios-10.0
  43. <<: *_ios
  44. # many tests with saucelabs
  45. - env: PLATFORM=browser-chrome
  46. - env: PLATFORM=browser-firefox
  47. - env: PLATFORM=browser-safari
  48. - env: PLATFORM=browser-edge
  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. - env: PLATFORM=android-5.1
  56. <<: *_android
  57. - env: PLATFORM=android-6.0
  58. <<: *_android
  59. - env: PLATFORM=android-7.0
  60. <<: *_android
  61. - env: PLATFORM=android-7.1
  62. <<: *_android
  63. - env: PLATFORM=android-8.0
  64. <<: *_android
  65. - env: PLATFORM=android-8.1
  66. <<: *_android
  67. - env: PLATFORM=android-9.0
  68. <<: *_android
  69. before_install:
  70. # manually install Node for `language: android`
  71. - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
  72. - node --version
  73. - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
  74. - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
  75. - npm install -g cordova
  76. # install paramedic if not running on paramedic repo
  77. - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
  78. install:
  79. - npm install
  80. before_script:
  81. - |
  82. if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
  83. # when used in the cordova-paramedic repo
  84. TEST_COMMAND="npm run eslint"
  85. PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
  86. PARAMEDIC_COMMAND="node main.js"
  87. else
  88. # when used in any other (plugin) repo
  89. TEST_COMMAND="npm test"
  90. PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
  91. PARAMEDIC_COMMAND="cordova-paramedic"
  92. fi
  93. - PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
  94. script:
  95. - $TEST_COMMAND
  96. - if [[ "$ADDITIONAL_TESTS_DIR" != "" ]];
  97. then cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
  98. else
  99. $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
  100. fi