.travis.yml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. os: osx
  2. osx_image: xcode11
  3. language: objective-c
  4. cache:
  5. bundler: true
  6. cocoapods: true
  7. directories:
  8. # Built-in support for ccache doesn't seem to pick this up
  9. - $HOME/.ccache
  10. stages:
  11. - test
  12. jobs:
  13. include:
  14. # The order of builds matters (even though they are run in parallel):
  15. # Travis will schedule them in the same order they are listed here.
  16. - stage: test
  17. env:
  18. - PROJECT=Core METHOD=pod-lib-lint
  19. script:
  20. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios
  21. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos
  22. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos
  23. - stage: test
  24. osx_image: xcode10.3
  25. env:
  26. - PROJECT=Core METHOD=pod-lib-lint
  27. script:
  28. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=ios
  29. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios
  30. - stage: test
  31. if: type = cron
  32. env:
  33. - PROJECT=CoreCron METHOD=pod-lib-lint
  34. script:
  35. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-libraries
  36. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-libraries
  37. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-libraries
  38. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=ios --use-modular-headers
  39. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=tvos --use-modular-headers
  40. - travis_retry ./scripts/pod_lib_lint.rb FirebaseCoreDiagnostics.podspec --platforms=macos --use-modular-headers
  41. - stage: test
  42. env:
  43. - PROJECT=ABTesting METHOD=pod-lib-lint QUICKSTART=ABtesting
  44. before_install:
  45. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  46. script:
  47. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios
  48. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh ABTesting
  49. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos
  50. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos
  51. - stage: test
  52. osx_image: xcode10.3
  53. env:
  54. - PROJECT=ABTesting METHOD=pod-lib-lint
  55. script:
  56. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios
  57. - stage: test
  58. if: type = cron
  59. env:
  60. - PROJECT=ABTestingCron METHOD=pod-lib-lint
  61. script:
  62. - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios --use-libraries
  63. - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos --use-libraries
  64. - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos --use-libraries
  65. - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=ios --use-modular-headers
  66. # One of the next two consistently hang on Travis. Commenting for now.
  67. # - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=tvos --use-modular-headers
  68. # - travis_retry ./scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=macos --use-modular-headers
  69. - stage: test
  70. osx_image: xcode10.3
  71. env:
  72. - PROJECT=Auth PLATFORM=iOS METHOD=xcodebuild
  73. before_install:
  74. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  75. script:
  76. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=ios
  77. - stage: test
  78. env:
  79. - PROJECT=InstanceID METHOD=pod-lib-lint
  80. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  81. before_install:
  82. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  83. script:
  84. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
  85. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos
  86. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos
  87. - stage: test
  88. osx_image: xcode10.3
  89. env:
  90. - PROJECT=InstanceID METHOD=pod-lib-lint
  91. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  92. before_install:
  93. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  94. script:
  95. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
  96. - stage: test
  97. if: type = cron
  98. env:
  99. - PROJECT=InstanceIDCron METHOD=pod-lib-lint
  100. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  101. before_install:
  102. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  103. script:
  104. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-libraries
  105. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-libraries
  106. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-libraries
  107. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-modular-headers
  108. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-modular-headers
  109. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-modular-headers
  110. - stage: test
  111. env:
  112. - PROJECT=Database PLATFORM=all METHOD=xcodebuild QUICKSTART=Database
  113. before_install:
  114. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  115. script:
  116. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  117. # The pod lib lint tests are fast enough that it's not worth a separate stage.
  118. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
  119. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Database
  120. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=tvos
  121. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=macos
  122. - stage: test
  123. osx_image: xcode10.3
  124. env:
  125. - PROJECT=Database PLATFORM=all METHOD=xcodebuild
  126. before_install:
  127. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  128. script:
  129. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
  130. - stage: test
  131. if: type = cron
  132. env:
  133. - PROJECT=DatabaseCron METHOD=pod-lib-lint
  134. script:
  135. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=ios
  136. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=tvos
  137. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=macos
  138. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=ios
  139. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=tvos
  140. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=macos
  141. - stage: test
  142. env:
  143. - PROJECT=DynamicLinks METHOD=pod-lib-lint QUICKSTART=DynamicLinks
  144. before_install:
  145. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  146. script:
  147. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh DynamicLinks
  148. - stage: test
  149. osx_image: xcode10.3
  150. env:
  151. - PROJECT=DynamicLinks METHOD=pod-lib-lint
  152. script:
  153. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
  154. - stage: test
  155. osx_image: xcode10.3
  156. env:
  157. - PROJECT=Messaging METHOD=pod-lib-lint
  158. script:
  159. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios
  160. - stage: test
  161. if: type = cron
  162. env:
  163. - PROJECT=MessagingCron METHOD=pod-lib-lint
  164. script:
  165. # FirebaseMessaging includes Swift unit tests so it is not testable with --use-libraries.
  166. # TODO(paulb777): Migrate FirebaseMessaging to pod gen driven tests with a separate test
  167. # target for Swift.
  168. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --use-libraries --skip-tests
  169. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --use-libraries --skip-tests
  170. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --use-libraries --skip-tests
  171. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --use-modular-headers
  172. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --use-modular-headers
  173. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --use-modular-headers
  174. - stage: test
  175. env:
  176. - PROJECT=RemoteConfig METHOD=pod-lib-lint QUICKSTART=Config
  177. before_install:
  178. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  179. script:
  180. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios
  181. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Config
  182. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=tvos
  183. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=macos
  184. - stage: test
  185. osx_image: xcode10.3
  186. env:
  187. - PROJECT=RemoteConfig METHOD=pod-lib-lint
  188. script:
  189. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios
  190. - stage: test
  191. if: type = cron
  192. env:
  193. - PROJECT=RemoteConfigCron METHOD=pod-lib-lint
  194. script:
  195. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=ios
  196. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=tvos
  197. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=macos
  198. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=ios
  199. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=tvos
  200. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=macos
  201. - stage: test
  202. osx_image: xcode10.3
  203. env:
  204. - PROJECT=Storage PLATFORM=all METHOD=xcodebuild
  205. script:
  206. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=ios
  207. - stage: test
  208. if: type = cron
  209. env:
  210. - PROJECT=StorageCron METHOD=pod-lib-lint
  211. script:
  212. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=ios
  213. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=tvos
  214. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=macos
  215. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=ios
  216. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=tvos
  217. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=macos
  218. - stage: test
  219. env:
  220. - PROJECT=Functions METHOD=pod-lib-lint QUICKSTART=Functions
  221. before_install:
  222. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
  223. script:
  224. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
  225. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Functions
  226. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-libraries
  227. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-modular-headers
  228. - stage: test
  229. osx_image: xcode10.3
  230. env:
  231. - PROJECT=Functions METHOD=pod-lib-lint
  232. before_install:
  233. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
  234. script:
  235. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
  236. - stage: test
  237. env:
  238. #TODO(#4729) Restore quickstart testing.
  239. # - PROJECT=Crashlytics METHOD=pod-lib-lint QUICKSTART=crashlytics
  240. - PROJECT=Crashlytics METHOD=pod-lib-lint
  241. script:
  242. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec
  243. # - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Crashlytics
  244. - stage: test
  245. osx_image: xcode10.3
  246. env:
  247. - PROJECT=Crashlytics METHOD=pod-lib-lint
  248. script:
  249. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec
  250. - stage: test
  251. if: type = cron
  252. env:
  253. - PROJECT=CrashlyticsCron METHOD=pod-lib-lint
  254. script:
  255. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --use-libraries
  256. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --use-modular-headers
  257. - stage: test
  258. env:
  259. - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild QUICKSTART=InAppMessaging
  260. before_install:
  261. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  262. script:
  263. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  264. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh InAppMessaging
  265. - stage: test
  266. osx_image: xcode10.3
  267. env:
  268. - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild
  269. before_install:
  270. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  271. script:
  272. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  273. - stage: test
  274. if: type = cron
  275. env:
  276. - PROJECT=InAppMessaging PLATFORM=iPad METHOD=xcodebuild
  277. before_install:
  278. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  279. script:
  280. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  281. - stage: test
  282. osx_image: xcode10.3
  283. env:
  284. - PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
  285. before_install:
  286. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  287. script:
  288. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
  289. - stage: test
  290. env:
  291. - PROJECT=GoogleUtilities METHOD=pod-lib-lint
  292. script:
  293. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec
  294. - stage: test
  295. osx_image: xcode10.3
  296. env:
  297. - PROJECT=GoogleUtilities METHOD=pod-lib-lint
  298. script:
  299. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=ios
  300. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=tvos
  301. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=macos
  302. - stage: test
  303. if: type = cron
  304. env:
  305. - PROJECT=GoogleUtilitiesCron METHOD=pod-lib-lint
  306. script:
  307. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=ios
  308. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=tvos
  309. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=macos
  310. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=ios
  311. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=tvos
  312. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=macos
  313. - stage: test
  314. env:
  315. - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
  316. script:
  317. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
  318. - stage: test
  319. osx_image: xcode10.3
  320. env:
  321. - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
  322. script:
  323. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
  324. - stage: test
  325. if: type = cron
  326. env:
  327. - PROJECT=GoogleUtilitiesComponentsCron METHOD=pod-lib-lint
  328. script:
  329. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-libraries
  330. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-modular-headers
  331. - stage: test
  332. env:
  333. - PROJECT=Firebase METHOD=pod-lib-lint
  334. script:
  335. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec
  336. # pod lib lint to check build and warnings for static library build - only on cron jobs
  337. - stage: test
  338. if: type = cron
  339. env:
  340. - PROJECT=InAppMessagingCron METHOD=pod-lib-lint
  341. script:
  342. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-libraries
  343. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-modular-headers
  344. - stage: test
  345. osx_image: xcode10.3
  346. env:
  347. - PROJECT=GoogleDataTransport METHOD=pod-lib-lint
  348. script:
  349. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios
  350. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios
  351. # Validate Cocoapods configurations
  352. # This may take long time, so we would like to run it only once all other tests pass
  353. # Validate Cocoapods 1.7.0 compatibility
  354. - stage: test
  355. if: type = cron
  356. env:
  357. - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_frameworks
  358. script:
  359. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  360. - stage: test
  361. if: type = cron
  362. env:
  363. - POD_CONFIG_DIR=Cocoapods1_7_0_frameworks
  364. script:
  365. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  366. - stage: test
  367. if: type = cron
  368. env:
  369. - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_staticLibs
  370. script:
  371. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  372. - stage: test
  373. if: type = cron
  374. env:
  375. - POD_CONFIG_DIR=Cocoapods1_7_0_staticLibs
  376. script:
  377. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  378. # Validate Cocoapods 1.6.1 compatibility
  379. - stage: test
  380. if: type = cron
  381. env:
  382. - POD_CONFIG_DIR=Cocoapods1_6_1_frameworks
  383. script:
  384. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  385. - stage: test
  386. if: type = cron
  387. env:
  388. - POD_CONFIG_DIR=Cocoapods1_6_1_staticLibs
  389. script:
  390. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  391. # FIS
  392. - stage: test
  393. env:
  394. - PROJECT=Installations PLATFORM=iOS METHOD=pod-lib-lint
  395. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  396. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  397. - QUICKSTART=Installations
  398. before_install:
  399. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  400. script:
  401. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=ios --ignore-local-podspecs=FirebaseInstanceID.podspec
  402. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Installations
  403. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=ios --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  404. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=ios --ignore-local-podspecs=FirebaseInstanceID.podspec
  405. - stage: test
  406. env:
  407. - PROJECT=Installations PLATFORM=macOS METHOD=pod-lib-lint
  408. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  409. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  410. before_install:
  411. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  412. script:
  413. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=macos --ignore-local-podspecs=FirebaseInstanceID.podspec
  414. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=macos --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  415. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=macos --ignore-local-podspecs=FirebaseInstanceID.podspec
  416. - stage: test
  417. env:
  418. - PROJECT=Installations PLATFORM=tvOS METHOD=pod-lib-lint
  419. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  420. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  421. before_install:
  422. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  423. script:
  424. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=tvos --ignore-local-podspecs=FirebaseInstanceID.podspec
  425. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=tvos --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  426. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=tvos --ignore-local-podspecs=FirebaseInstanceID.podspec
  427. allow_failures:
  428. # Run fuzz tests only on cron jobs.
  429. - stage: test
  430. if: type = cron
  431. env:
  432. - PROJECT=Firestore PLATFORM=iOS METHOD=fuzz
  433. before_install:
  434. - ./scripts/install_prereqs.sh
  435. script:
  436. # The travis_wait is necessary because fuzzing runs for 40 minutes.
  437. - travis_wait 45 ./scripts/fuzzing_ci.sh
  438. branches:
  439. only:
  440. - master