zip.yml 26 KB

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