zip.yml 25 KB

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