release.yml 25 KB

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