release.yml 26 KB

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