client_app.yml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. name: client_app
  2. on:
  3. pull_request:
  4. paths:
  5. - ".github/workflows/client_app.yml"
  6. - "Package.swift"
  7. - ".swiftpm/*"
  8. - "*.podspec"
  9. - "scripts/install_prereqs.sh"
  10. - "scripts/build.sh"
  11. - "IntegrationTesting/ClientApp/**"
  12. - "Gemfile*"
  13. schedule:
  14. # Run every day at 12am (PST) - cron uses UTC times
  15. - cron: "0 8 * * *"
  16. env:
  17. FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
  18. concurrency:
  19. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  20. cancel-in-progress: true
  21. jobs:
  22. client-app-spm:
  23. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  24. runs-on: macos-14
  25. strategy:
  26. matrix:
  27. #TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
  28. platform: [iOS]
  29. scheme: [ClientApp, ClientApp-iOS13]
  30. steps:
  31. - uses: actions/checkout@v4
  32. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  33. with:
  34. cache_key: ${{ matrix.os }}
  35. - name: Build Client App –– ${{ matrix.platform }}
  36. run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
  37. client-app-spm-source-firestore:
  38. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  39. env:
  40. FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
  41. FIREBASE_SOURCE_FIRESTORE: 1
  42. runs-on: macos-14
  43. strategy:
  44. matrix:
  45. #TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
  46. platform: [iOS]
  47. scheme: [ClientApp, ClientApp-iOS13]
  48. steps:
  49. - uses: actions/checkout@v4
  50. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  51. with:
  52. cache_key: ${{ matrix.os }}
  53. - name: Build Client App –– ${{ matrix.platform }}
  54. run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
  55. client-app-cocoapods:
  56. # Don't run on private repo unless it is a PR.
  57. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  58. runs-on: macos-14
  59. strategy:
  60. matrix:
  61. scheme: [ClientApp-CocoaPods, ClientApp-CocoaPods-iOS13]
  62. steps:
  63. - uses: actions/checkout@v4
  64. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  65. with:
  66. cache_key: ${{ matrix.os }}
  67. - uses: ruby/setup-ruby@v1
  68. - name: Setup Bundler
  69. run: scripts/setup_bundler.sh
  70. - name: Prereqs
  71. run: scripts/install_prereqs.sh ClientApp iOS xcodebuild
  72. - name: Build
  73. run: scripts/build.sh ${{ matrix.scheme }} iOS xcodebuild