zip.yml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  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 8pm(PST) - cron uses UTC times
  13. - cron: '0 4 * * *'
  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-14
  28. # steps:
  29. # - uses: actions/checkout@v4
  30. # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  31. # with:
  32. # cache_key: package-release
  33. # - name: Xcode 15.2
  34. # run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  35. # - uses: ruby/setup-ruby@v1
  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@v4
  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-14
  53. # steps:
  54. # - uses: actions/checkout@v4
  55. # - name: Xcode 15.2
  56. # run: sudo xcode-select -s /Applications/Xcode_15.2.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-14
  66. # steps:
  67. # - uses: actions/checkout@v4
  68. # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  69. # with:
  70. # cache_key: package-head
  71. # - name: Xcode 15.2
  72. # run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  73. # - uses: ruby/setup-ruby@v1
  74. # - name: Setup Bundler
  75. # run: ./scripts/setup_bundler.sh
  76. # - name: ZipBuildingTest
  77. # run: |
  78. # mkdir -p zip_output_dir
  79. # sh -x scripts/build_zip.sh \
  80. # zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \
  81. # build-head
  82. # - uses: actions/upload-artifact@v4
  83. # with:
  84. # name: Firebase-actions-dir
  85. # github-token: '${{ secrets.GITHUB_TOKEN }}'
  86. # run-id: 8787079219
  87. # # Zip the entire output directory since the builder adds subdirectories we don't know the
  88. # # name of.
  89. # path: zip_output_dir
  90. quickstart_framework_abtesting:
  91. # Don't run on private repo.
  92. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  93. # needs: package-head
  94. env:
  95. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  96. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  97. SDK: "ABTesting"
  98. strategy:
  99. matrix:
  100. os: [macos-13, macos-14]
  101. include:
  102. - os: macos-13
  103. xcode: Xcode_15.2
  104. - os: macos-14
  105. xcode: Xcode_15.3
  106. runs-on: ${{ matrix.os }}
  107. steps:
  108. - uses: actions/checkout@v4
  109. - name: Get framework dir
  110. uses: actions/download-artifact@v4
  111. with:
  112. name: Firebase-actions-dir
  113. github-token: '${{ secrets.GITHUB_TOKEN }}'
  114. run-id: 8787079219
  115. - uses: ruby/setup-ruby@v1
  116. - name: Setup Bundler
  117. run: ./scripts/setup_bundler.sh
  118. - name: Move frameworks
  119. run: |
  120. mkdir -p "${HOME}"/ios_frameworks/
  121. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  122. - uses: actions/checkout@v4
  123. - name: Xcode
  124. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  125. - name: Setup quickstart
  126. env:
  127. LEGACY: true
  128. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  129. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  130. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \
  131. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \
  132. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \
  133. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \
  134. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework
  135. - name: Install Secret GoogleService-Info.plist
  136. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \
  137. quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret"
  138. - name: Test Quickstart
  139. env:
  140. LEGACY: true
  141. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  142. - name: Remove data before upload
  143. env:
  144. LEGACY: true
  145. if: ${{ failure() }}
  146. run: scripts/remove_data.sh abtesting
  147. - uses: actions/upload-artifact@v4
  148. if: ${{ failure() }}
  149. with:
  150. name: quickstart_artifacts_abtesting-${{ matrix.os }}
  151. path: quickstart-ios/
  152. quickstart_framework_auth:
  153. # Don't run on private repo.
  154. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  155. # needs: package-head
  156. env:
  157. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  158. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  159. SDK: "Authentication"
  160. strategy:
  161. matrix:
  162. os: [macos-13, macos-14]
  163. include:
  164. - os: macos-13
  165. xcode: Xcode_15.2
  166. - os: macos-14
  167. xcode: Xcode_15.3
  168. runs-on: ${{ matrix.os }}
  169. steps:
  170. - uses: actions/checkout@v4
  171. - name: Get framework dir
  172. uses: actions/download-artifact@v4
  173. with:
  174. name: Firebase-actions-dir
  175. github-token: '${{ secrets.GITHUB_TOKEN }}'
  176. run-id: 8787079219
  177. - uses: ruby/setup-ruby@v1
  178. - name: Setup Bundler
  179. run: ./scripts/setup_bundler.sh
  180. - name: Move frameworks
  181. run: |
  182. mkdir -p "${HOME}"/ios_frameworks/
  183. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  184. - name: Xcode
  185. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  186. - name: Setup Swift Quickstart
  187. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \
  188. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  189. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  190. "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \
  191. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  192. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  193. - name: Install Secret GoogleService-Info.plist
  194. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-auth.plist.gpg \
  195. quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret"
  196. - name: Test Swift Quickstart
  197. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  198. - name: Remove data before upload
  199. if: ${{ failure() }}
  200. run: scripts/remove_data.sh authentiation
  201. - uses: actions/upload-artifact@v4
  202. if: ${{ failure() }}
  203. with:
  204. name: quickstart_artifacts_auth-${{ matrix.os }}
  205. path: quickstart-ios/
  206. quickstart_framework_config:
  207. # Don't run on private repo.
  208. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  209. # needs: package-head
  210. env:
  211. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  212. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  213. SDK: "Config"
  214. strategy:
  215. matrix:
  216. os: [macos-13, macos-14]
  217. include:
  218. - os: macos-13
  219. xcode: Xcode_15.2
  220. - os: macos-14
  221. xcode: Xcode_15.3
  222. runs-on: ${{ matrix.os }}
  223. steps:
  224. - uses: actions/checkout@v4
  225. - name: Get framework dir
  226. uses: actions/download-artifact@v4
  227. with:
  228. name: Firebase-actions-dir
  229. github-token: '${{ secrets.GITHUB_TOKEN }}'
  230. run-id: 8787079219
  231. - uses: ruby/setup-ruby@v1
  232. - name: Setup Bundler
  233. run: ./scripts/setup_bundler.sh
  234. - name: Move frameworks
  235. run: |
  236. mkdir -p "${HOME}"/ios_frameworks/
  237. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  238. - name: Xcode
  239. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  240. - name: Setup Swift Quickstart
  241. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  242. "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \
  243. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  244. - name: Install Secret GoogleService-Info.plist
  245. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \
  246. quickstart-ios/config/GoogleService-Info.plist "$plist_secret"
  247. - name: Test Swift Quickstart
  248. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  249. - name: Remove data before upload
  250. if: ${{ failure() }}
  251. run: scripts/remove_data.sh config
  252. - uses: actions/upload-artifact@v4
  253. if: ${{ failure() }}
  254. with:
  255. name: quickstart_artifacts_config-${{ matrix.os }}
  256. path: quickstart-ios/
  257. quickstart_framework_crashlytics:
  258. # Don't run on private repo.
  259. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  260. # needs: package-head
  261. env:
  262. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  263. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  264. SDK: "Crashlytics"
  265. strategy:
  266. matrix:
  267. os: [macos-13, macos-14]
  268. include:
  269. - os: macos-13
  270. xcode: Xcode_15.2
  271. - os: macos-14
  272. xcode: Xcode_15.3
  273. runs-on: ${{ matrix.os }}
  274. steps:
  275. - uses: actions/checkout@v4
  276. - name: Get framework dir
  277. uses: actions/download-artifact@v4
  278. with:
  279. name: Firebase-actions-dir
  280. github-token: '${{ secrets.GITHUB_TOKEN }}'
  281. run-id: 8787079219
  282. - uses: ruby/setup-ruby@v1
  283. - name: Setup Bundler
  284. run: ./scripts/setup_bundler.sh
  285. - name: Move frameworks
  286. run: |
  287. mkdir -p "${HOME}"/ios_frameworks/
  288. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  289. - uses: actions/checkout@v4
  290. - name: Xcode
  291. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  292. - name: Setup quickstart
  293. env:
  294. LEGACY: true
  295. run: |
  296. SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  297. "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \
  298. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  299. cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
  300. cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart
  301. chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/run
  302. chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/upload-symbols
  303. # TODO(#8057): Restore Swift Quickstart
  304. # - name: Setup swift quickstart
  305. # env:
  306. # LEGACY: true
  307. # run: |
  308. # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \
  309. # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/*
  310. - name: Install Secret GoogleService-Info.plist
  311. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
  312. quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
  313. - name: Test Quickstart
  314. env:
  315. LEGACY: true
  316. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  317. # TODO(#8057): Restore Swift Quickstart
  318. # - name: Test Swift Quickstart
  319. # env:
  320. # LEGACY: true
  321. # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  322. - name: Remove data before upload
  323. env:
  324. LEGACY: true
  325. if: ${{ failure() }}
  326. run: scripts/remove_data.sh crashlytics
  327. - uses: actions/upload-artifact@v4
  328. if: ${{ failure() }}
  329. with:
  330. name: quickstart_artifacts_crashlytics-${{ matrix.os }}
  331. path: quickstart-ios/
  332. quickstart_framework_database:
  333. # Don't run on private repo.
  334. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  335. # needs: package-head
  336. env:
  337. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  338. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  339. SDK: "Database"
  340. strategy:
  341. matrix:
  342. os: [macos-13]
  343. xcode: [Xcode_15.2]
  344. # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources.
  345. # - os: macos-13
  346. # xcode: Xcode_15.2
  347. runs-on: ${{ matrix.os }}
  348. steps:
  349. - uses: actions/checkout@v4
  350. - name: Get framework dir
  351. uses: actions/download-artifact@v4
  352. with:
  353. name: Firebase-actions-dir
  354. github-token: '${{ secrets.GITHUB_TOKEN }}'
  355. run-id: 8787079219
  356. - uses: ruby/setup-ruby@v1
  357. - name: Setup Bundler
  358. run: ./scripts/setup_bundler.sh
  359. - name: Move frameworks
  360. run: |
  361. mkdir -p "${HOME}"/ios_frameworks/
  362. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  363. - uses: actions/checkout@v4
  364. - name: Xcode
  365. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  366. - name: Setup quickstart
  367. run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \
  368. "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \
  369. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  370. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  371. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  372. "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  373. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  374. - name: Install Secret GoogleService-Info.plist
  375. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \
  376. quickstart-ios/database/GoogleService-Info.plist "$plist_secret"
  377. - name: Test Quickstart
  378. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  379. - name: Remove data before upload
  380. if: ${{ failure() }}
  381. run: scripts/remove_data.sh database
  382. - uses: actions/upload-artifact@v4
  383. if: ${{ failure() }}
  384. with:
  385. name: quickstart_artifacts_database-${{ matrix.os }}
  386. path: quickstart-ios/
  387. quickstart_framework_dynamiclinks:
  388. # Don't run on private repo.
  389. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  390. # needs: package-head
  391. env:
  392. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  393. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  394. SDK: "DynamicLinks"
  395. strategy:
  396. matrix:
  397. os: [macos-13, macos-14]
  398. include:
  399. - os: macos-13
  400. xcode: Xcode_15.2
  401. - os: macos-14
  402. xcode: Xcode_15.3
  403. runs-on: ${{ matrix.os }}
  404. steps:
  405. - uses: actions/checkout@v4
  406. - name: Get framework dir
  407. uses: actions/download-artifact@v4
  408. with:
  409. name: Firebase-actions-dir
  410. github-token: '${{ secrets.GITHUB_TOKEN }}'
  411. run-id: 8787079219
  412. - uses: ruby/setup-ruby@v1
  413. - name: Setup Bundler
  414. run: ./scripts/setup_bundler.sh
  415. - name: Move frameworks
  416. run: |
  417. mkdir -p "${HOME}"/ios_frameworks/
  418. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  419. - name: Setup Objc Quickstart
  420. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  421. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  422. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  423. - name: Xcode
  424. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  425. - name: Setup Swift Quickstart
  426. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  427. - name: Update Environment Variable For DynamicLinks
  428. run: |
  429. sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements
  430. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m
  431. sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift
  432. - name: Install Secret GoogleService-Info.plist
  433. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \
  434. quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret"
  435. - name: Test Objc Quickstart
  436. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  437. - name: Test Swift Quickstart
  438. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  439. - name: Remove data before upload
  440. if: ${{ failure() }}
  441. run: scripts/remove_data.sh dynamiclinks
  442. - uses: actions/upload-artifact@v4
  443. if: ${{ failure() }}
  444. with:
  445. name: quickstart_artifacts_dynamiclinks-${{ matrix.os }}
  446. path: quickstart-ios/
  447. # quickstart_framework_firestore:
  448. # # Don't run on private repo.
  449. # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  450. # # needs: package-head
  451. # env:
  452. # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  453. # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  454. # SDK: "Firestore"
  455. # strategy:
  456. # matrix:
  457. # # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources.
  458. # os: [macos-13]
  459. # xcode: [Xcode_15.2]
  460. # runs-on: ${{ matrix.os }}
  461. # steps:
  462. # - uses: actions/checkout@v4
  463. # - name: Get framework dir
  464. # uses: actions/download-artifact@v4
  465. # with:
  466. # name: Firebase-actions-dir
  467. # github-token: '${{ secrets.GITHUB_TOKEN }}'
  468. # run-id: 8787079219
  469. # - uses: ruby/setup-ruby@v1
  470. # - name: Setup Bundler
  471. # run: ./scripts/setup_bundler.sh
  472. # - name: Move frameworks
  473. # run: |
  474. # mkdir -p "${HOME}"/ios_frameworks/
  475. # find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  476. # - uses: actions/checkout@v4
  477. # - name: Setup quickstart
  478. # run: SAMPLE="$SDK" TARGET="${SDK}Example" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \
  479. # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \
  480. # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \
  481. # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  482. # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  483. # - name: Xcode
  484. # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  485. # - name: Install Secret GoogleService-Info.plist
  486. # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \
  487. # quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret"
  488. # - name: Test Quickstart
  489. # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  490. # - name: Remove data before upload
  491. # if: ${{ failure() }}
  492. # run: scripts/remove_data.sh firestore
  493. # - uses: actions/upload-artifact@v4
  494. # if: ${{ failure() }}
  495. # with:
  496. # name: quickstart_artifacts_firestore-${{ matrix.os }}
  497. # path: quickstart-ios/
  498. check_framework_firestore_symbols:
  499. # Don't run on private repo.
  500. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  501. # needs: package-head
  502. env:
  503. FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
  504. runs-on: macos-13
  505. steps:
  506. - name: Xcode 15.2
  507. run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  508. - uses: actions/checkout@v4
  509. - name: Get framework dir
  510. uses: actions/download-artifact@v4
  511. with:
  512. name: Firebase-actions-dir
  513. github-token: '${{ secrets.GITHUB_TOKEN }}'
  514. run-id: 8787079219
  515. - uses: ruby/setup-ruby@v1
  516. - name: Setup Bundler
  517. run: ./scripts/setup_bundler.sh
  518. - name: Install xcpretty
  519. run: gem install xcpretty
  520. - name: Move frameworks
  521. run: |
  522. mkdir -p "${HOME}"/ios_frameworks/
  523. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  524. - uses: actions/checkout@v4
  525. - name: Check linked Firestore.xcframework for unlinked symbols.
  526. run: |
  527. scripts/check_firestore_symbols.sh \
  528. $(pwd) \
  529. "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework
  530. quickstart_framework_inappmessaging:
  531. # Don't run on private repo.
  532. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  533. # needs: package-head
  534. env:
  535. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  536. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  537. SDK: "InAppMessaging"
  538. strategy:
  539. matrix:
  540. os: [macos-13, macos-14]
  541. include:
  542. - os: macos-13
  543. xcode: Xcode_15.2
  544. - os: macos-14
  545. xcode: Xcode_15.3
  546. runs-on: ${{ matrix.os }}
  547. steps:
  548. - uses: actions/checkout@v4
  549. - name: Get framework dir
  550. uses: actions/download-artifact@v4
  551. with:
  552. name: Firebase-actions-dir
  553. github-token: '${{ secrets.GITHUB_TOKEN }}'
  554. run-id: 8787079219
  555. - uses: ruby/setup-ruby@v1
  556. - name: Setup Bundler
  557. run: ./scripts/setup_bundler.sh
  558. - name: Move frameworks
  559. run: |
  560. mkdir -p "${HOME}"/ios_frameworks/
  561. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  562. - uses: actions/checkout@v4
  563. - name: Setup quickstart
  564. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  565. "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
  566. "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \
  567. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  568. - name: Xcode
  569. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  570. - name: Setup swift quickstart
  571. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  572. - name: Install Secret GoogleService-Info.plist
  573. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \
  574. quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret"
  575. - name: Test Quickstart
  576. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  577. - name: Test Swift Quickstart
  578. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  579. - name: Remove data before upload
  580. if: ${{ failure() }}
  581. run: scripts/remove_data.sh inappmessaging
  582. - uses: actions/upload-artifact@v4
  583. if: ${{ failure() }}
  584. with:
  585. name: quickstart_artifacts_inappmessaging-${{ matrix.os }}
  586. path: quickstart-ios/
  587. quickstart_framework_messaging:
  588. # Don't run on private repo.
  589. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  590. # needs: package-head
  591. env:
  592. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  593. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  594. SDK: "Messaging"
  595. strategy:
  596. matrix:
  597. os: [macos-13, macos-14]
  598. include:
  599. - os: macos-13
  600. xcode: Xcode_15.2
  601. - os: macos-14
  602. xcode: Xcode_15.3
  603. runs-on: ${{ matrix.os }}
  604. steps:
  605. - uses: actions/checkout@v4
  606. - name: Get framework dir
  607. uses: actions/download-artifact@v4
  608. with:
  609. name: Firebase-actions-dir
  610. github-token: '${{ secrets.GITHUB_TOKEN }}'
  611. run-id: 8787079219
  612. - uses: ruby/setup-ruby@v1
  613. - name: Setup Bundler
  614. run: ./scripts/setup_bundler.sh
  615. - name: Move frameworks
  616. run: |
  617. mkdir -p "${HOME}"/ios_frameworks/
  618. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  619. - uses: actions/checkout@v4
  620. - name: Setup quickstart
  621. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  622. "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \
  623. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  624. - name: Xcode
  625. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  626. - name: Setup swift quickstart
  627. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  628. - name: Install Secret GoogleService-Info.plist
  629. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \
  630. quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret"
  631. - name: Test Quickstart
  632. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  633. - name: Test Swift Quickstart
  634. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  635. - name: Remove data before upload
  636. if: ${{ failure() }}
  637. run: scripts/remove_data.sh messaging
  638. - uses: actions/upload-artifact@v4
  639. if: ${{ failure() }}
  640. with:
  641. name: quickstart_artifacts_messaging-${{ matrix.os }}
  642. path: quickstart-ios/
  643. quickstart_framework_storage:
  644. # Don't run on private repo.
  645. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
  646. # needs: package-head
  647. env:
  648. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  649. signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
  650. SDK: "Storage"
  651. strategy:
  652. matrix:
  653. os: [macos-13, macos-14]
  654. include:
  655. - os: macos-13
  656. xcode: Xcode_15.2
  657. - os: macos-14
  658. xcode: Xcode_15.3
  659. runs-on: ${{ matrix.os }}
  660. steps:
  661. - uses: actions/checkout@v4
  662. - name: Get framework dir
  663. uses: actions/download-artifact@v4
  664. with:
  665. name: Firebase-actions-dir
  666. github-token: '${{ secrets.GITHUB_TOKEN }}'
  667. run-id: 8787079219
  668. - uses: ruby/setup-ruby@v1
  669. - name: Setup Bundler
  670. run: ./scripts/setup_bundler.sh
  671. - name: Move frameworks
  672. run: |
  673. mkdir -p "${HOME}"/ios_frameworks/
  674. find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
  675. - uses: actions/checkout@v4
  676. - name: Setup quickstart
  677. env:
  678. LEGACY: true
  679. run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
  680. "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \
  681. "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
  682. "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
  683. - name: Xcode
  684. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  685. - name: Setup swift quickstart
  686. env:
  687. LEGACY: true
  688. run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
  689. - name: Install Secret GoogleService-Info.plist
  690. run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \
  691. quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
  692. - name: Test Quickstart
  693. env:
  694. LEGACY: true
  695. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}")
  696. - name: Test Swift Quickstart
  697. env:
  698. LEGACY: true
  699. run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift)
  700. - name: Remove data before upload
  701. env:
  702. LEGACY: true
  703. if: ${{ failure() }}
  704. run: scripts/remove_data.sh storage
  705. - uses: actions/upload-artifact@v4
  706. if: ${{ failure() }}
  707. with:
  708. name: quickstart_artifacts_storage-${{ matrix.os }}
  709. path: quickstart-ios/