prerelease.yml 26 KB

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