zip.yml 31 KB

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