zip.yml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. name: zip
  2. on:
  3. pull_request:
  4. paths:
  5. - 'ReleaseTooling/**'
  6. - '.github/workflows/zip.yml'
  7. - 'scripts/build_non_firebase_sdks.sh'
  8. - 'Gemfile'
  9. # Don't run based on any markdown only changes.
  10. - '!ReleaseTooling/*.md'
  11. schedule:
  12. # Run every day at midnight(PST) - cron uses UTC times
  13. - cron: '0 8 * * *'
  14. jobs:
  15. build:
  16. # Don't run on private repo unless it is a PR.
  17. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  18. runs-on: macOS-latest
  19. steps:
  20. - uses: actions/checkout@v2
  21. - name: Build
  22. run: |
  23. cd ReleaseTooling
  24. swift build -v
  25. package:
  26. # Don't run on private repo.
  27. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  28. needs: build
  29. runs-on: macOS-latest
  30. steps:
  31. - uses: actions/checkout@v2
  32. - name: Setup Bundler
  33. run: ./scripts/setup_bundler.sh
  34. - name: ZipBuildingTest
  35. run: |
  36. mkdir -p zip_output_dir
  37. sh -x scripts/build_zip.sh zip_output_dir
  38. - uses: actions/upload-artifact@v1
  39. with:
  40. name: Firebase-actions-dir
  41. # Zip the entire output directory since the builder adds subdirectories we don't know the
  42. # name of.
  43. path: zip_output_dir
  44. quickstart_framework_abtesting:
  45. # Don't run on private repo.
  46. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  47. needs: package
  48. env:
  49. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  50. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  51. FRAMEWORK_DIR: "Firebase-actions-dir"
  52. SDK: "ABTesting"
  53. runs-on: macOS-latest
  54. steps:
  55. - uses: actions/checkout@v2
  56. - name: Get framework dir
  57. uses: actions/download-artifact@v1
  58. with:
  59. name: Firebase-actions-dir
  60. - name: Move frameworks
  61. run: |
  62. mkdir -p "${HOME}"/ios_frameworks/
  63. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  64. - name: Setup quickstart
  65. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  66. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  67. "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/FirebaseInstanceID.xcframework \
  68. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \
  69. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/PromisesObjC.xcframework \
  70. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \
  71. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework
  72. - name: Install Secret GoogleService-Info.plist
  73. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
  74. quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
  75. - name: Install Secret FIREGSignInInfo.h
  76. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  77. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  78. - name: Test Quickstart
  79. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  80. - name: Remove data before upload
  81. if: ${{ failure() }}
  82. run: scripts/remove_data.sh abtesting
  83. - uses: actions/upload-artifact@v2
  84. if: ${{ failure() }}
  85. with:
  86. name: quickstart_artifacts_abtesting
  87. path: quickstart-ios/
  88. quickstart_framework_auth:
  89. # Don't run on private repo.
  90. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  91. needs: package
  92. env:
  93. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  94. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  95. FRAMEWORK_DIR: "Firebase-actions-dir"
  96. SDK: "Authentication"
  97. runs-on: macOS-latest
  98. steps:
  99. - uses: actions/checkout@v2
  100. - name: Get framework dir
  101. uses: actions/download-artifact@v1
  102. with:
  103. name: Firebase-actions-dir
  104. - name: Move frameworks
  105. run: |
  106. mkdir -p "${HOME}"/ios_frameworks/
  107. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  108. - name: Setup Swift Quickstart
  109. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit" scripts/setup_quickstart_framework.sh \
  110. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  111. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  112. "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \
  113. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  114. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  115. - name: Install Secret GoogleService-Info.plist
  116. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
  117. quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
  118. - name: Install Secret FIREGSignInInfo.h
  119. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  120. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  121. - name: Test Swift Quickstart
  122. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  123. - name: Remove data before upload
  124. if: ${{ failure() }}
  125. run: scripts/remove_data.sh authentiation
  126. - uses: actions/upload-artifact@v2
  127. if: ${{ failure() }}
  128. with:
  129. name: quickstart_artifacts_auth
  130. path: quickstart-ios/
  131. quickstart_framework_config:
  132. # Don't run on private repo.
  133. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  134. needs: package
  135. env:
  136. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  137. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  138. FRAMEWORK_DIR: "Firebase-actions-dir"
  139. SDK: "Config"
  140. runs-on: macOS-latest
  141. steps:
  142. - uses: actions/checkout@v2
  143. - name: Get framework dir
  144. uses: actions/download-artifact@v1
  145. with:
  146. name: Firebase-actions-dir
  147. - name: Move frameworks
  148. run: |
  149. mkdir -p "${HOME}"/ios_frameworks/
  150. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  151. - name: Setup Swift Quickstart
  152. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  153. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  154. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  155. - name: Install Secret GoogleService-Info.plist
  156. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
  157. quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
  158. - name: Install Secret FIREGSignInInfo.h
  159. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  160. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  161. - name: Test Swift Quickstart
  162. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  163. - name: Remove data before upload
  164. if: ${{ failure() }}
  165. run: scripts/remove_data.sh config
  166. - uses: actions/upload-artifact@v2
  167. if: ${{ failure() }}
  168. with:
  169. name: quickstart_artifacts_config
  170. path: quickstart-ios/
  171. quickstart_framework_crashlytics:
  172. # Don't run on private repo.
  173. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  174. needs: package
  175. env:
  176. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  177. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  178. FRAMEWORK_DIR: "Firebase-actions-dir"
  179. SDK: "Crashlytics"
  180. runs-on: macOS-latest
  181. steps:
  182. - uses: actions/checkout@v2
  183. - name: Get framework dir
  184. uses: actions/download-artifact@v1
  185. with:
  186. name: Firebase-actions-dir
  187. - name: Move frameworks
  188. run: |
  189. mkdir -p "${HOME}"/ios_frameworks/
  190. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  191. - name: Setup quickstart
  192. run: |
  193. SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  194. "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \
  195. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  196. cp quickstart-ios/crashlytics/Firebase/run quickstart-ios/crashlytics
  197. cp quickstart-ios/crashlytics/Firebase/upload-symbols quickstart-ios/crashlytics
  198. chmod +x quickstart-ios/crashlytics/run
  199. chmod +x quickstart-ios/crashlytics/upload-symbols
  200. - name: Setup swift quickstart
  201. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  202. - name: Install Secret GoogleService-Info.plist
  203. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
  204. quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
  205. - name: Install Secret FIREGSignInInfo.h
  206. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  207. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  208. - name: Test Quickstart
  209. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  210. - name: Test Swift Quickstart
  211. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  212. - name: Remove data before upload
  213. if: ${{ failure() }}
  214. run: scripts/remove_data.sh crashlytics
  215. - uses: actions/upload-artifact@v2
  216. if: ${{ failure() }}
  217. with:
  218. name: quickstart_artifacts_crashlytics
  219. path: quickstart-ios/
  220. quickstart_framework_database:
  221. # Don't run on private repo.
  222. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  223. needs: package
  224. env:
  225. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  226. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  227. FRAMEWORK_DIR: "Firebase-actions-dir"
  228. SDK: "Database"
  229. runs-on: macOS-latest
  230. steps:
  231. - uses: actions/checkout@v2
  232. - name: Get framework dir
  233. uses: actions/download-artifact@v1
  234. with:
  235. name: Firebase-actions-dir
  236. - name: Move frameworks
  237. run: |
  238. mkdir -p "${HOME}"/ios_frameworks/
  239. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  240. - name: Setup quickstart
  241. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FirebaseUI/Database" scripts/setup_quickstart_framework.sh \
  242. "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \
  243. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  244. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  245. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  246. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  247. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  248. - name: Install Secret GoogleService-Info.plist
  249. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \
  250. quickstart-ios/database/GoogleService-Info.plist "$plist_secret"
  251. - name: Install Secret FIREGSignInInfo.h
  252. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  253. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  254. - name: Test Quickstart
  255. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  256. - name: Remove data before upload
  257. if: ${{ failure() }}
  258. run: scripts/remove_data.sh database
  259. - uses: actions/upload-artifact@v2
  260. if: ${{ failure() }}
  261. with:
  262. name: quickstart_artifacts database
  263. path: quickstart-ios/
  264. quickstart_framework_dynamiclinks:
  265. # Don't run on private repo.
  266. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  267. needs: package
  268. env:
  269. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  270. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  271. FRAMEWORK_DIR: "Firebase-actions-dir"
  272. SDK: "DynamicLinks"
  273. runs-on: macOS-latest
  274. steps:
  275. - uses: actions/checkout@v2
  276. - name: Get framework dir
  277. uses: actions/download-artifact@v1
  278. with:
  279. name: Firebase-actions-dir
  280. - name: Move frameworks
  281. run: |
  282. mkdir -p "${HOME}"/ios_frameworks/
  283. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  284. - name: Setup Objc Quickstart
  285. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  286. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  287. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  288. - name: Setup Swift Quickstart
  289. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  290. - name: Update Environment Variable For DynamicLinks
  291. run: |
  292. sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements
  293. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m
  294. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift
  295. - name: Install Secret GoogleService-Info.plist
  296. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \
  297. quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret"
  298. - name: Install Secret FIREGSignInInfo.h
  299. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  300. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  301. - name: Test Objc Quickstart
  302. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  303. - name: Test Swift Quickstart
  304. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  305. - name: Remove data before upload
  306. if: ${{ failure() }}
  307. run: scripts/remove_data.sh dynamiclinks
  308. - uses: actions/upload-artifact@v2
  309. if: ${{ failure() }}
  310. with:
  311. name: quickstart_artifacts_dynamiclinks
  312. path: quickstart-ios/
  313. quickstart_framework_firestore:
  314. # Don't run on private repo.
  315. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  316. needs: package
  317. env:
  318. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  319. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  320. FRAMEWORK_DIR: "Firebase-actions-dir"
  321. SDK: "Firestore"
  322. runs-on: macOS-latest
  323. steps:
  324. - uses: actions/checkout@v2
  325. - name: Get framework dir
  326. uses: actions/download-artifact@v1
  327. with:
  328. name: Firebase-actions-dir
  329. - name: Move frameworks
  330. run: |
  331. mkdir -p "${HOME}"/ios_frameworks/
  332. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  333. - name: Setup quickstart
  334. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="SDWebImage FirebaseUI/Auth FirebaseUI/Email FirebaseFirestoreSwift" scripts/setup_quickstart_framework.sh \
  335. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  336. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  337. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  338. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  339. - name: Install Secret GoogleService-Info.plist
  340. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \
  341. quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret"
  342. - name: Install Secret FIREGSignInInfo.h
  343. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  344. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  345. - name: Test Quickstart
  346. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  347. - name: Remove data before upload
  348. if: ${{ failure() }}
  349. run: scripts/remove_data.sh firestore
  350. - uses: actions/upload-artifact@v2
  351. if: ${{ failure() }}
  352. with:
  353. name: quickstart_artifacts_firestore
  354. path: quickstart-ios/
  355. quickstart_framework_inappmessaging:
  356. # Don't run on private repo.
  357. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  358. needs: package
  359. env:
  360. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  361. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  362. FRAMEWORK_DIR: "Firebase-actions-dir"
  363. SDK: "InAppMessaging"
  364. runs-on: macOS-latest
  365. steps:
  366. - uses: actions/checkout@v2
  367. - name: Get framework dir
  368. uses: actions/download-artifact@v1
  369. with:
  370. name: Firebase-actions-dir
  371. - name: Move frameworks
  372. run: |
  373. mkdir -p "${HOME}"/ios_frameworks/
  374. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  375. - name: Setup quickstart
  376. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  377. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  378. "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \
  379. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  380. - name: Setup swift quickstart
  381. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  382. - name: Install Secret GoogleService-Info.plist
  383. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \
  384. quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret"
  385. - name: Install Secret FIREGSignInInfo.h
  386. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  387. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  388. - name: Test Quickstart
  389. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  390. - name: Test Swift Quickstart
  391. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  392. - name: Remove data before upload
  393. if: ${{ failure() }}
  394. run: scripts/remove_data.sh inappmessaging
  395. - uses: actions/upload-artifact@v2
  396. if: ${{ failure() }}
  397. with:
  398. name: quickstart_artifacts_ihappmessaging
  399. path: quickstart-ios/
  400. quickstart_framework_messaging:
  401. # Don't run on private repo.
  402. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  403. needs: package
  404. env:
  405. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  406. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  407. FRAMEWORK_DIR: "Firebase-actions-dir"
  408. SDK: "Messaging"
  409. runs-on: macOS-latest
  410. steps:
  411. - uses: actions/checkout@v2
  412. - name: Get framework dir
  413. uses: actions/download-artifact@v1
  414. with:
  415. name: Firebase-actions-dir
  416. - name: Move frameworks
  417. run: |
  418. mkdir -p "${HOME}"/ios_frameworks/
  419. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  420. - name: Setup quickstart
  421. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  422. "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \
  423. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  424. - name: Setup swift quickstart
  425. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  426. - name: Install Secret GoogleService-Info.plist
  427. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \
  428. quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret"
  429. - name: Install Secret FIREGSignInInfo.h
  430. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  431. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  432. - name: Test Quickstart
  433. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  434. - name: Test Swift Quickstart
  435. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  436. - name: Remove data before upload
  437. if: ${{ failure() }}
  438. run: scripts/remove_data.sh messaging
  439. - uses: actions/upload-artifact@v2
  440. if: ${{ failure() }}
  441. with:
  442. name: quickstart_artifacts_messaging
  443. path: quickstart-ios/
  444. quickstart_framework_storage:
  445. # Don't run on private repo.
  446. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  447. needs: package
  448. env:
  449. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  450. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  451. FRAMEWORK_DIR: "Firebase-actions-dir"
  452. SDK: "Storage"
  453. runs-on: macOS-latest
  454. steps:
  455. - uses: actions/checkout@v2
  456. - name: Get framework dir
  457. uses: actions/download-artifact@v1
  458. with:
  459. name: Firebase-actions-dir
  460. - name: Move frameworks
  461. run: |
  462. mkdir -p "${HOME}"/ios_frameworks/
  463. find "${GITHUB_WORKSPACE}/${FRAMEWORK_DIR}" -name "*.zip" -maxdepth 3 -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  464. - name: Setup quickstart
  465. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  466. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  467. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  468. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  469. - name: Setup swift quickstart
  470. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="FirebaseStorageSwift" scripts/setup_quickstart_framework.sh \
  471. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/*
  472. - name: Install Secret GoogleService-Info.plist
  473. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \
  474. quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
  475. - name: Install Secret FIREGSignInInfo.h
  476. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FIREGSignInInfo.h.gpg \
  477. quickstart-ios/TestUtils/FIREGSignInInfo.h "$signin_secret"
  478. - name: Test Quickstart
  479. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  480. - name: Test Swift Quickstart
  481. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  482. - name: Remove data before upload
  483. if: ${{ failure() }}
  484. run: scripts/remove_data.sh storage
  485. - uses: actions/upload-artifact@v2
  486. if: ${{ failure() }}
  487. with:
  488. name: quickstart_artifacts_storage
  489. path: quickstart-ios/