inappmessaging.yml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. name: inappmessaging
  2. permissions:
  3. contents: read
  4. on:
  5. workflow_dispatch:
  6. pull_request:
  7. paths:
  8. - 'FirebaseInAppMessaging**'
  9. - 'Interop/Analytics/Public/*.h'
  10. - '.github/workflows/inappmessaging.yml'
  11. - '.github/workflows/common.yml'
  12. - '.github/workflows/common_cocoapods.yml'
  13. - '.github/workflows/common_quickstart.yml'
  14. - '.github/workflows/common_cocoapods_cron.yml'
  15. - 'Gemfile*'
  16. schedule:
  17. # Run every day at 11pm (PDT) / 2am (EDT) - cron uses UTC times
  18. - cron: '0 6 * * *'
  19. concurrency:
  20. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  21. cancel-in-progress: true
  22. jobs:
  23. spm:
  24. uses: ./.github/workflows/common.yml
  25. with:
  26. target: FirebaseInAppMessaging-Beta
  27. platforms: iOS
  28. buildonly_platforms: iOS
  29. pod_lib_lint:
  30. uses: ./.github/workflows/common_cocoapods.yml
  31. with:
  32. product: FirebaseInAppMessaging
  33. platforms: iOS, tvOS
  34. tests:
  35. # Don't run on private repo unless it is a PR.
  36. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  37. # TODO(#12770): Update to macos-14 when tests are updated for Xcode 15.
  38. runs-on: macos-15
  39. strategy:
  40. matrix:
  41. # TODO(#8682): Reenable iPad after fixing Xcode 13 test failures.
  42. # platform: [iOS, iPad]
  43. platform: [iOS]
  44. xcode: [Xcode_16.4]
  45. steps:
  46. - uses: actions/checkout@v4
  47. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  48. with:
  49. cache_key: ${{ matrix.platform }}
  50. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  51. - name: Setup Bundler
  52. run: scripts/setup_bundler.sh
  53. - name: Xcode
  54. run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
  55. - name: Prereqs
  56. run: scripts/install_prereqs.sh InAppMessaging ${{ matrix.platform }} xcodebuild
  57. - name: Build and test
  58. run: scripts/third_party/travis/retry.sh scripts/build.sh InAppMessaging ${{ matrix.platform }} xcodebuild
  59. fiam-cron-only:
  60. needs: pod_lib_lint
  61. uses: ./.github/workflows/common_cocoapods_cron.yml
  62. with:
  63. product: FirebaseInAppMessaging
  64. platforms: '[ "ios", "tvos" ]'
  65. flags: '[ "--use-static-frameworks" ]'
  66. quickstart:
  67. uses: ./.github/workflows/common_quickstart.yml
  68. strategy:
  69. matrix:
  70. quickstart_type: [objc, swift]
  71. with:
  72. product: InAppMessaging
  73. is_legacy: false
  74. quickstart_type: ${{ matrix.quickstart_type }}
  75. setup_command: scripts/setup_quickstart.sh inappmessaging
  76. plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg
  77. plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist
  78. secrets:
  79. plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}