client_app.yml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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: Xcode
  36. run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  37. - name: Build Client App –– ${{ matrix.platform }}
  38. run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
  39. client-app-spm-source-firestore:
  40. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  41. env:
  42. FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
  43. FIREBASE_SOURCE_FIRESTORE: 1
  44. runs-on: macos-14
  45. strategy:
  46. matrix:
  47. #TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
  48. platform: [iOS]
  49. scheme: [ClientApp, ClientApp-iOS13]
  50. steps:
  51. - uses: actions/checkout@v4
  52. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  53. with:
  54. cache_key: ${{ matrix.os }}
  55. - name: Xcode
  56. run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  57. - name: Build Client App –– ${{ matrix.platform }}
  58. run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild
  59. client-app-cocoapods:
  60. # Don't run on private repo unless it is a PR.
  61. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  62. runs-on: macos-14
  63. strategy:
  64. matrix:
  65. scheme: [ClientApp-CocoaPods, ClientApp-CocoaPods-iOS13]
  66. steps:
  67. - uses: actions/checkout@v4
  68. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  69. with:
  70. cache_key: ${{ matrix.os }}
  71. - uses: ruby/setup-ruby@v1
  72. - name: Setup Bundler
  73. run: scripts/setup_bundler.sh
  74. - name: Xcode
  75. run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
  76. - name: Prereqs
  77. run: scripts/install_prereqs.sh ClientApp iOS xcodebuild
  78. - name: Build
  79. run: scripts/build.sh ${{ matrix.scheme }} iOS xcodebuild