release.yml 23 KB

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