prerelease.yml 28 KB

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