prerelease.yml 28 KB

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