zip.yml 31 KB

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