zip.yml 25 KB

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