prerelease.yml 26 KB

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