release.yml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. name: release
  2. on:
  3. pull_request:
  4. paths:
  5. - '.github/workflows/release.yml'
  6. - 'scripts/create_spec_repo/*'
  7. schedule:
  8. # Run every day at 11pm (PST) - cron uses UTC times
  9. - cron: '0 7 * * *'
  10. jobs:
  11. buildup_SpecsTesting_repo:
  12. # Don't run on private repo unless it is a PR.
  13. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  14. env:
  15. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  16. local_repo: specstesting
  17. nightly_version: "6.32.1"
  18. local_sdk_repo_dir: /tmp/test/firebase-ios-sdk
  19. podspec_repo_branch: master
  20. runs-on: macOS-latest
  21. steps:
  22. - uses: actions/checkout@v2
  23. - name: Get token
  24. run: |
  25. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/oss-bot-access.txt.gpg \
  26. oss-bot-access.txt "$bot_token_secret"
  27. scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  28. bot-access.txt "$bot_token_secret"
  29. - name: Update SpecsTesting repo setup
  30. run: |
  31. ossbotaccess=`cat oss-bot-access.txt`
  32. BOT_TOKEN="${ossbotaccess}" test_version="${nightly_version}" scripts/release_testing_setup.sh nightly_testing
  33. - name: Update SpecsTesting repo
  34. run: |
  35. botaccess=`cat bot-access.txt`
  36. cd scripts/create_spec_repo/
  37. swift build
  38. pod repo add --silent "${local_repo}" https://"$botaccess"@github.com/FirebasePrivate/SpecsTesting.git
  39. BOT_TOKEN="${botaccess}" .build/debug/spec-repo-builder --sdk-repo "${local_sdk_repo_dir}" --local-spec-repo-name "${local_repo}"
  40. - name: Clean Artifacts
  41. if: ${{ always() }}
  42. run: |
  43. pod repo remove "${local_repo}"
  44. rm -rf bot-access.txt
  45. abtesting_quickstart:
  46. # Don't run on private repo unless it is a PR.
  47. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  48. needs: buildup_SpecsTesting_repo
  49. env:
  50. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  51. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  52. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  53. runs-on: macOS-latest
  54. steps:
  55. - uses: actions/checkout@v2
  56. - name: Get token
  57. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  58. bot-access.txt "$bot_token_secret"
  59. - name: Setup testing repo and quickstart
  60. run: |
  61. botaccess=`cat bot-access.txt`
  62. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh abtesting nightly_release_testing
  63. - name: Install Secret GoogleService-Info.plist
  64. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
  65. quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
  66. - name: Install Secret FIREGSignInInfo.h
  67. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  68. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  69. - name: Test swift quickstart
  70. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh ABTesting)
  71. - name: Remove data before upload
  72. run: scripts/remove_data.sh config release_testing
  73. - uses: actions/upload-artifact@v2
  74. if: ${{ failure() }}
  75. with:
  76. name: quickstart_artifacts_abtesting
  77. path: quickstart-ios/
  78. auth_quickstart:
  79. # Don't run on private repo unless it is a PR.
  80. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  81. needs: buildup_SpecsTesting_repo
  82. env:
  83. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  84. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  85. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  86. runs-on: macOS-latest
  87. steps:
  88. - uses: actions/checkout@v2
  89. - name: Get token
  90. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  91. bot-access.txt "$bot_token_secret"
  92. - name: Setup testing repo and quickstart
  93. run: |
  94. botaccess=`cat bot-access.txt`
  95. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh Authentication nightly_release_testing
  96. - name: Install Secret GoogleService-Info.plist
  97. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
  98. quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
  99. - name: Install Secret FIREGSignInInfo.h
  100. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  101. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  102. - name: Test swift quickstart
  103. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Authentication)
  104. - name: Remove data before upload
  105. run: scripts/remove_data.sh authentication release_testing
  106. - uses: actions/upload-artifact@v2
  107. if: ${{ failure() }}
  108. with:
  109. name: quickstart_artifacts_auth
  110. path: quickstart-ios/
  111. crashlytics_quickstart:
  112. # Don't run on private repo unless it is a PR.
  113. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  114. needs: buildup_SpecsTesting_repo
  115. env:
  116. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  117. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  118. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  119. testing_repo_dir: "/tmp/test/"
  120. testing_repo: "firebase-ios-sdk"
  121. runs-on: macOS-latest
  122. steps:
  123. - uses: actions/checkout@v2
  124. - name: Get token
  125. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  126. bot-access.txt "$bot_token_secret"
  127. - name: Setup testing repo and quickstart
  128. run: |
  129. botaccess=`cat bot-access.txt`
  130. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh Crashlytics nightly_release_testing
  131. - name: Install Secret GoogleService-Info.plist
  132. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
  133. quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
  134. - name: Install Secret FIREGSignInInfo.h
  135. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  136. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  137. - name: Test objc quickstart
  138. run: |
  139. mkdir -p quickstart-ios/crashlytics/Pods/FirebaseCrashlytics
  140. # Set the deployed pod location of run and upload-symbols with the development pod version.
  141. cp Crashlytics/run quickstart-ios/crashlytics/Pods/FirebaseCrashlytics/
  142. cp Crashlytics/upload-symbols quickstart-ios/crashlytics/Pods/FirebaseCrashlytics/
  143. ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Crashlytics)
  144. - name: Test swift quickstart
  145. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Crashlytics swift)
  146. - name: Remove data before upload
  147. run: scripts/remove_data.sh crashlytics release_testing
  148. - uses: actions/upload-artifact@v2
  149. if: ${{ failure() }}
  150. with:
  151. name: quickstart_artifacts_crashlytics
  152. path: quickstart-ios/
  153. database_quickstart:
  154. # Don't run on private repo unless it is a PR.
  155. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  156. needs: buildup_SpecsTesting_repo
  157. env:
  158. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  159. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  160. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  161. testing_repo_dir: "/tmp/test/"
  162. testing_repo: "firebase-ios-sdk"
  163. runs-on: macOS-latest
  164. steps:
  165. - uses: actions/checkout@v2
  166. - name: Get token
  167. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  168. bot-access.txt "$bot_token_secret"
  169. - name: Setup testing repo and quickstart
  170. run: |
  171. botaccess=`cat bot-access.txt`
  172. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh database nightly_release_testing
  173. - name: Install Secret GoogleService-Info.plist
  174. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \
  175. quickstart-ios/database/GoogleService-Info.plist "$plist_secret"
  176. - name: Install Secret FIREGSignInInfo.h
  177. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  178. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  179. - name: Test objc quickstart
  180. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Database)
  181. - name: Test swift quickstart
  182. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Database swift)
  183. - name: Remove data before upload
  184. run: scripts/remove_data.sh database release_testing
  185. - uses: actions/upload-artifact@v2
  186. if: ${{ failure() }}
  187. with:
  188. name: quickstart_artifacts_database
  189. path: quickstart-ios/
  190. dynamiclinks_quickstart:
  191. # Don't run on private repo unless it is a PR.
  192. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  193. needs: buildup_SpecsTesting_repo
  194. env:
  195. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  196. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  197. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  198. testing_repo_dir: "/tmp/test/"
  199. testing_repo: "firebase-ios-sdk"
  200. runs-on: macOS-latest
  201. steps:
  202. - uses: actions/checkout@v2
  203. - name: Get token
  204. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  205. bot-access.txt "$bot_token_secret"
  206. - name: Setup testing repo and quickstart
  207. run: |
  208. botaccess=`cat bot-access.txt`
  209. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh dynamiclinks nightly_release_testing
  210. - name: Install Secret GoogleService-Info.plist
  211. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \
  212. quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret"
  213. - name: Update Environment Variable For DynamicLinks
  214. run: |
  215. sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements
  216. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m
  217. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift
  218. - name: Install Secret FIREGSignInInfo.h
  219. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  220. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  221. - name: Test objc quickstart
  222. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh DynamicLinks)
  223. - name: Test swift quickstart
  224. if: ${{ always() }}
  225. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh DynamicLinks swift)
  226. - name: Remove data before upload
  227. run: scripts/remove_data.sh dynamiclinks release_testing
  228. - uses: actions/upload-artifact@v2
  229. if: ${{ failure() }}
  230. with:
  231. name: quickstart_artifacts_dynamiclinks
  232. path: quickstart-ios/
  233. firestore_quickstart:
  234. # Don't run on private repo unless it is a PR.
  235. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  236. needs: buildup_SpecsTesting_repo
  237. env:
  238. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  239. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  240. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  241. testing_repo_dir: "/tmp/test/"
  242. testing_repo: "firebase-ios-sdk"
  243. runs-on: macOS-latest
  244. steps:
  245. - uses: actions/checkout@v2
  246. - name: Get token
  247. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  248. bot-access.txt "$bot_token_secret"
  249. - name: Setup testing repo and quickstart
  250. run: |
  251. botaccess=`cat bot-access.txt`
  252. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh firestore nightly_release_testing
  253. - name: Install Secret GoogleService-Info.plist
  254. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \
  255. quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret"
  256. - name: Install Secret FIREGSignInInfo.h
  257. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  258. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  259. - name: Test swift quickstart
  260. run: ([ -z $plist_secret ] ||
  261. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Firestore)
  262. - name: Remove data before upload
  263. run: scripts/remove_data.sh firestore release_testing
  264. - uses: actions/upload-artifact@v2
  265. if: ${{ failure() }}
  266. with:
  267. name: quickstart_artifacts_firestore
  268. path: quickstart-ios/
  269. functions_quickstart:
  270. # Don't run on private repo unless it is a PR.
  271. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  272. needs: buildup_SpecsTesting_repo
  273. env:
  274. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  275. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  276. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  277. testing_repo_dir: "/tmp/test/"
  278. testing_repo: "firebase-ios-sdk"
  279. runs-on: macOS-latest
  280. steps:
  281. - uses: actions/checkout@v2
  282. - name: Get token
  283. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  284. bot-access.txt "$bot_token_secret"
  285. - name: Setup testing repo and quickstart
  286. run: |
  287. botaccess=`cat bot-access.txt`
  288. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh functions nightly_release_testing
  289. - name: install secret googleservice-info.plist
  290. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-functions.plist.gpg \
  291. quickstart-ios/functions/GoogleService-Info.plist "$plist_secret"
  292. - name: Install Secret FIREGSignInInfo.h
  293. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  294. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  295. - name: Setup custom URL scheme
  296. run: sed -i '' 's/REVERSED_CLIENT_ID/com.googleusercontent.apps.1025801074639-6p6ebi8amuklcjrto20gvpe295smm8u6/' quickstart-ios/functions/FunctionsExample/Info.plist
  297. - name: Test objc quickstart
  298. run: ([ -z $plist_secret ] ||
  299. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions)
  300. - name: Test swift quickstart
  301. run: ([ -z $plist_secret ] ||
  302. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Functions swift)
  303. - name: Remove data before upload
  304. run: scripts/remove_data.sh functions release_testing
  305. - uses: actions/upload-artifact@v2
  306. if: ${{ failure() }}
  307. with:
  308. name: quickstart_artifacts_functions
  309. path: quickstart-ios/
  310. inappmessaging_quickstart:
  311. # Don't run on private repo unless it is a PR.
  312. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  313. needs: buildup_SpecsTesting_repo
  314. env:
  315. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  316. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  317. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  318. testing_repo_dir: "/tmp/test/"
  319. testing_repo: "firebase-ios-sdk"
  320. runs-on: macOS-latest
  321. steps:
  322. - uses: actions/checkout@v2
  323. - name: Get token
  324. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  325. bot-access.txt "$bot_token_secret"
  326. - name: Setup testing repo and quickstart
  327. run: |
  328. botaccess=`cat bot-access.txt`
  329. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh inappmessaging nightly_release_testing
  330. - name: install secret googleservice-info.plist
  331. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \
  332. quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret"
  333. - name: Install Secret FIREGSignInInfo.h
  334. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  335. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  336. - name: Test objc quickstart
  337. run: ([ -z $plist_secret ] ||
  338. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh InAppMessaging)
  339. - name: Test swift quickstart
  340. run: ([ -z $plist_secret ] ||
  341. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh InAppMessaging swift)
  342. - name: Remove data before upload
  343. run: scripts/remove_data.sh inappmessaging release_testing
  344. - uses: actions/upload-artifact@v2
  345. if: ${{ failure() }}
  346. with:
  347. name: quickstart_artifacts_inappmessaging
  348. path: quickstart-ios/
  349. messaging_quickstart:
  350. # Don't run on private repo unless it is a PR.
  351. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  352. needs: buildup_SpecsTesting_repo
  353. env:
  354. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  355. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  356. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  357. testing_repo_dir: "/tmp/test/"
  358. testing_repo: "firebase-ios-sdk"
  359. runs-on: macOS-latest
  360. steps:
  361. - uses: actions/checkout@v2
  362. - name: Get token
  363. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  364. bot-access.txt "$bot_token_secret"
  365. - name: Setup testing repo and quickstart
  366. run: |
  367. botaccess=`cat bot-access.txt`
  368. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh messaging nightly_release_testing
  369. - name: Install Secret GoogleService-Info.plist
  370. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \
  371. quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret"
  372. - name: Install Secret FIREGSignInInfo.h
  373. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  374. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  375. - name: Test objc quickstart
  376. run: ([ -z $plist_secret ] ||
  377. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Messaging)
  378. - name: Test swift quickstart
  379. run: ([ -z $plist_secret ] ||
  380. scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Messaging swift)
  381. - name: Remove data before upload
  382. run: scripts/remove_data.sh messaging release_testing
  383. - uses: actions/upload-artifact@v2
  384. if: ${{ failure() }}
  385. with:
  386. name: quickstart_artifacts_messaging
  387. path: quickstart-ios/
  388. remoteconfig_quickstart:
  389. # Don't run on private repo unless it is a PR.
  390. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  391. needs: buildup_SpecsTesting_repo
  392. env:
  393. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  394. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  395. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  396. runs-on: macOS-latest
  397. steps:
  398. - uses: actions/checkout@v2
  399. - name: Get token
  400. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  401. bot-access.txt "$bot_token_secret"
  402. - name: Setup testing repo and quickstart
  403. run: |
  404. botaccess=`cat bot-access.txt`
  405. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh config nightly_release_testing
  406. - name: Install Secret GoogleService-Info.plist
  407. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
  408. quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
  409. - name: Install Secret FIREGSignInInfo.h
  410. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  411. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  412. - name: Test Swift Quickstart
  413. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Config)
  414. - name: Remove data before upload
  415. run: scripts/remove_data.sh config release_testing
  416. - uses: actions/upload-artifact@v2
  417. if: ${{ failure() }}
  418. with:
  419. name: quickstart_artifacts_config
  420. path: quickstart-ios/
  421. storage_quickstart:
  422. # Don't run on private repo unless it is a PR.
  423. if: github.repository != 'FirebasePrivate/firebase-ios-sdk' || github.event_name == 'pull_request'
  424. needs: buildup_SpecsTesting_repo
  425. env:
  426. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  427. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  428. bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  429. testing_repo_dir: "/tmp/test/"
  430. testing_repo: "firebase-ios-sdk"
  431. runs-on: macOS-latest
  432. steps:
  433. - uses: actions/checkout@v2
  434. - name: Get token
  435. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/bot-access.txt.gpg \
  436. bot-access.txt "$bot_token_secret"
  437. - name: Setup testing repo and quickstart
  438. run: |
  439. botaccess=`cat bot-access.txt`
  440. BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh storage nightly_release_testing
  441. - name: Install Secret GoogleService-Info.plist
  442. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \
  443. quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
  444. - name: Install Secret FIREGSignInInfo.h
  445. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  446. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  447. - name: Test objc quickstart
  448. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage)
  449. - name: Test swift quickstart
  450. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage swift)
  451. - name: Remove data before upload
  452. run: scripts/remove_data.sh storage release_testing
  453. - uses: actions/upload-artifact@v2
  454. if: ${{ failure() }}
  455. with:
  456. name: quickstart_artifacts_storage
  457. path: quickstart-ios/