zip.yml 25 KB

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