.travis.yml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  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. script:
  74. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseAuth.podspec --platforms=ios
  75. - stage: test
  76. env:
  77. - PROJECT=InstanceID METHOD=pod-lib-lint
  78. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  79. before_install:
  80. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  81. script:
  82. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
  83. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos
  84. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos
  85. - stage: test
  86. osx_image: xcode10.3
  87. env:
  88. - PROJECT=InstanceID METHOD=pod-lib-lint
  89. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  90. before_install:
  91. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  92. script:
  93. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios
  94. - stage: test
  95. if: type = cron
  96. env:
  97. - PROJECT=InstanceIDCron METHOD=pod-lib-lint
  98. - FIR_IID_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  99. before_install:
  100. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  101. script:
  102. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-libraries
  103. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-libraries
  104. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-libraries
  105. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=ios --use-modular-headers
  106. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=tvos --use-modular-headers
  107. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInstanceID.podspec --platforms=macos --use-modular-headers
  108. - stage: test
  109. env:
  110. - PROJECT=Database PLATFORM=all METHOD=xcodebuild QUICKSTART=Database
  111. before_install:
  112. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  113. script:
  114. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  115. # The pod lib lint tests are fast enough that it's not worth a separate stage.
  116. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
  117. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Database
  118. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=tvos
  119. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=macos
  120. - stage: test
  121. osx_image: xcode10.3
  122. env:
  123. - PROJECT=Database PLATFORM=all METHOD=xcodebuild
  124. before_install:
  125. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  126. script:
  127. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --skip-tests --platforms=ios
  128. - stage: test
  129. if: type = cron
  130. env:
  131. - PROJECT=DatabaseCron METHOD=pod-lib-lint
  132. script:
  133. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=ios
  134. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=tvos
  135. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-libraries --skip-tests --platforms=macos
  136. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=ios
  137. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=tvos
  138. - travis_retry ./scripts/pod_lib_lint.rb FirebaseDatabase.podspec --use-modular-headers --skip-tests --platforms=macos
  139. - stage: test
  140. env:
  141. - PROJECT=DynamicLinks METHOD=pod-lib-lint QUICKSTART=DynamicLinks
  142. before_install:
  143. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  144. script:
  145. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh DynamicLinks
  146. - stage: test
  147. osx_image: xcode10.3
  148. env:
  149. - PROJECT=DynamicLinks METHOD=pod-lib-lint
  150. script:
  151. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseDynamicLinks.podspec
  152. - stage: test
  153. osx_image: xcode10.3
  154. env:
  155. - PROJECT=Messaging METHOD=pod-lib-lint
  156. script:
  157. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios
  158. - stage: test
  159. if: type = cron
  160. env:
  161. - PROJECT=MessagingCron METHOD=pod-lib-lint
  162. script:
  163. # FirebaseMessaging includes Swift unit tests so it is not testable with --use-libraries.
  164. # TODO(paulb777): Migrate FirebaseMessaging to pod gen driven tests with a separate test
  165. # target for Swift.
  166. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --use-libraries --skip-tests
  167. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --use-libraries --skip-tests
  168. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --use-libraries --skip-tests
  169. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=ios --use-modular-headers
  170. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=tvos --use-modular-headers
  171. - travis_retry ./scripts/pod_lib_lint.rb FirebaseMessaging.podspec --platforms=macos --use-modular-headers
  172. - stage: test
  173. env:
  174. - PROJECT=RemoteConfig METHOD=pod-lib-lint QUICKSTART=Config
  175. before_install:
  176. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  177. script:
  178. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios
  179. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Config
  180. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=tvos
  181. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=macos
  182. - stage: test
  183. osx_image: xcode10.3
  184. env:
  185. - PROJECT=RemoteConfig METHOD=pod-lib-lint
  186. script:
  187. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --platforms=ios
  188. - stage: test
  189. if: type = cron
  190. env:
  191. - PROJECT=RemoteConfigCron METHOD=pod-lib-lint
  192. script:
  193. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=ios
  194. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=tvos
  195. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-libraries --platforms=macos
  196. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=ios
  197. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=tvos
  198. - travis_retry ./scripts/pod_lib_lint.rb FirebaseRemoteConfig.podspec --use-modular-headers --platforms=macos
  199. - stage: test
  200. osx_image: xcode10.3
  201. env:
  202. - PROJECT=Storage PLATFORM=all METHOD=xcodebuild
  203. script:
  204. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --skip-tests --platforms=ios
  205. - stage: test
  206. if: type = cron
  207. env:
  208. - PROJECT=StorageCron METHOD=pod-lib-lint
  209. script:
  210. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=ios
  211. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=tvos
  212. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-libraries --skip-tests --platforms=macos
  213. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=ios
  214. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=tvos
  215. - travis_retry ./scripts/pod_lib_lint.rb FirebaseStorage.podspec --use-modular-headers --skip-tests --platforms=macos
  216. - stage: test
  217. env:
  218. - PROJECT=Functions METHOD=pod-lib-lint QUICKSTART=Functions
  219. before_install:
  220. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
  221. script:
  222. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
  223. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Functions
  224. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-libraries
  225. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec --use-modular-headers
  226. - stage: test
  227. osx_image: xcode10.3
  228. env:
  229. - PROJECT=Functions METHOD=pod-lib-lint
  230. before_install:
  231. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh # Start integration test server
  232. script:
  233. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseFunctions.podspec
  234. - stage: test
  235. osx_image: xcode10.3
  236. env:
  237. - PROJECT=Crashlytics METHOD=pod-lib-lint
  238. script:
  239. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec
  240. - stage: test
  241. env:
  242. - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild QUICKSTART=InAppMessaging
  243. before_install:
  244. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  245. script:
  246. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  247. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh InAppMessaging
  248. - stage: test
  249. osx_image: xcode10.3
  250. env:
  251. - PROJECT=InAppMessaging PLATFORM=iOS METHOD=xcodebuild
  252. before_install:
  253. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  254. script:
  255. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM
  256. - stage: test
  257. if: type = cron
  258. env:
  259. - PROJECT=InAppMessaging PLATFORM=iPad METHOD=xcodebuild
  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. - stage: test
  265. osx_image: xcode10.3
  266. env:
  267. - PROJECT=Firestore PLATFORM=iOS METHOD=xcodebuild
  268. before_install:
  269. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  270. script:
  271. - travis_retry ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
  272. - stage: test
  273. env:
  274. - PROJECT=GoogleUtilities METHOD=pod-lib-lint
  275. script:
  276. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec
  277. - stage: test
  278. osx_image: xcode10.3
  279. env:
  280. - PROJECT=GoogleUtilities METHOD=pod-lib-lint
  281. script:
  282. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=ios
  283. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=tvos
  284. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --platforms=macos
  285. - stage: test
  286. if: type = cron
  287. env:
  288. - PROJECT=GoogleUtilitiesCron METHOD=pod-lib-lint
  289. script:
  290. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=ios
  291. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=tvos
  292. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-libraries --platforms=macos
  293. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=ios
  294. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=tvos
  295. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilities.podspec --use-modular-headers --platforms=macos
  296. - stage: test
  297. env:
  298. - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
  299. script:
  300. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
  301. - stage: test
  302. osx_image: xcode10.3
  303. env:
  304. - PROJECT=GoogleUtilitiesComponents METHOD=pod-lib-lint
  305. script:
  306. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec
  307. - stage: test
  308. if: type = cron
  309. env:
  310. - PROJECT=GoogleUtilitiesComponentsCron METHOD=pod-lib-lint
  311. script:
  312. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-libraries
  313. - travis_retry ./scripts/pod_lib_lint.rb GoogleUtilitiesComponents.podspec --use-modular-headers
  314. - stage: test
  315. env:
  316. - PROJECT=Firebase METHOD=pod-lib-lint
  317. script:
  318. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec
  319. # pod lib lint to check build and warnings for static library build - only on cron jobs
  320. - stage: test
  321. if: type = cron
  322. env:
  323. - PROJECT=InAppMessagingCron METHOD=pod-lib-lint
  324. script:
  325. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-libraries
  326. - travis_retry ./scripts/pod_lib_lint.rb FirebaseInAppMessaging.podspec --use-modular-headers
  327. - stage: test
  328. osx_image: xcode10.3
  329. env:
  330. - PROJECT=GoogleDataTransport METHOD=pod-lib-lint
  331. script:
  332. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransport.podspec --platforms=ios
  333. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb GoogleDataTransportCCTSupport.podspec --platforms=ios
  334. # Validate Cocoapods configurations
  335. # This may take long time, so we would like to run it only once all other tests pass
  336. # Validate Cocoapods 1.7.0 compatibility
  337. - stage: test
  338. if: type = cron
  339. env:
  340. - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_frameworks
  341. script:
  342. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  343. - stage: test
  344. if: type = cron
  345. env:
  346. - POD_CONFIG_DIR=Cocoapods1_7_0_frameworks
  347. script:
  348. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  349. - stage: test
  350. if: type = cron
  351. env:
  352. - POD_CONFIG_DIR=Cocoapods1_7_0_multiprojects_staticLibs
  353. script:
  354. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  355. - stage: test
  356. if: type = cron
  357. env:
  358. - POD_CONFIG_DIR=Cocoapods1_7_0_staticLibs
  359. script:
  360. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  361. # Validate Cocoapods 1.6.1 compatibility
  362. - stage: test
  363. if: type = cron
  364. env:
  365. - POD_CONFIG_DIR=Cocoapods1_6_1_frameworks
  366. script:
  367. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  368. - stage: test
  369. if: type = cron
  370. env:
  371. - POD_CONFIG_DIR=Cocoapods1_6_1_staticLibs
  372. script:
  373. - travis_retry ./CocoapodsIntegrationTest/scripts/build_with_environment.sh --gemfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Gemfile --podfile=./CocoapodsIntegrationTest/TestEnvironments/${POD_CONFIG_DIR}/Podfile
  374. # FIS
  375. - stage: test
  376. env:
  377. - PROJECT=Installations PLATFORM=iOS METHOD=pod-lib-lint
  378. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  379. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  380. - QUICKSTART=Installations
  381. before_install:
  382. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  383. script:
  384. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=ios --ignore-local-podspecs=FirebaseInstanceID.podspec
  385. - travis_retry ./scripts/if_changed.sh ./scripts/test_quickstart.sh Installations
  386. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=ios --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  387. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=ios --ignore-local-podspecs=FirebaseInstanceID.podspec
  388. - stage: test
  389. env:
  390. - PROJECT=Installations PLATFORM=macOS METHOD=pod-lib-lint
  391. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  392. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  393. before_install:
  394. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  395. script:
  396. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=macos --ignore-local-podspecs=FirebaseInstanceID.podspec
  397. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=macos --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  398. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=macos --ignore-local-podspecs=FirebaseInstanceID.podspec
  399. - stage: test
  400. env:
  401. - PROJECT=Installations PLATFORM=tvOS METHOD=pod-lib-lint
  402. - FIS_ALLOWS_INCOMPATIBLE_IID_VERSION=1
  403. - FIS_INTEGRATION_TESTS_REQUIRED=$(if [[ "$TRAVIS_PULL_REQUEST" == "false" || "$TRAVIS_PULL_REQUEST_SLUG" == "$TRAVIS_REPO_SLUG" ]]; then echo "1"; else echo "0"; fi)
  404. before_install:
  405. - ./scripts/if_changed.sh ./scripts/install_prereqs.sh
  406. script:
  407. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=tvos --ignore-local-podspecs=FirebaseInstanceID.podspec
  408. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --platforms=tvos --use-libraries --ignore-local-podspecs=FirebaseInstanceID.podspec
  409. - travis_retry ./scripts/if_changed.sh ./scripts/pod_lib_lint.rb FirebaseInstallations.podspec --use-modular-headers --platforms=tvos --ignore-local-podspecs=FirebaseInstanceID.podspec
  410. allow_failures:
  411. # Run fuzz tests only on cron jobs.
  412. - stage: test
  413. if: type = cron
  414. env:
  415. - PROJECT=Firestore PLATFORM=iOS METHOD=fuzz
  416. before_install:
  417. - ./scripts/install_prereqs.sh
  418. script:
  419. # The travis_wait is necessary because fuzzing runs for 40 minutes.
  420. - travis_wait 45 ./scripts/fuzzing_ci.sh
  421. branches:
  422. only:
  423. - master