zip.yml 28 KB

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