core_extension.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: core_extension
  2. on:
  3. workflow_dispatch:
  4. pull_request:
  5. paths:
  6. - 'FirebaseCoreExtension.podspec'
  7. - 'FirebaseCore/Extension/**'
  8. - '.github/workflows/core_extension.yml'
  9. - 'Gemfile*'
  10. schedule:
  11. # Run every day at 2am (PST) - cron uses UTC times
  12. - cron: '0 10 * * *'
  13. jobs:
  14. # Since `FirebaseCoreExtension` only contains headers, linting is sufficient for testing.
  15. pod-lib-lint:
  16. # Don't run on private repo unless it is a PR.
  17. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
  18. strategy:
  19. matrix:
  20. target: [ios, tvos, macos, watchos]
  21. build-env:
  22. - os: macos-14
  23. xcode: Xcode_16.2
  24. - os: macos-15
  25. xcode: Xcode_16.2
  26. - os: macos-15
  27. xcode: Xcode_16.3
  28. runs-on: ${{ matrix.build-env.os }}
  29. steps:
  30. - uses: actions/checkout@v4
  31. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  32. - name: Setup Bundler
  33. run: scripts/setup_bundler.sh
  34. - name: Xcode
  35. run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
  36. - name: Build and test
  37. run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCoreExtension.podspec --platforms=${{ matrix.target }}
  38. core-internal-cron-only:
  39. # Don't run on private repo.
  40. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
  41. runs-on: macos-15
  42. strategy:
  43. matrix:
  44. target: [ios, tvos, macos]
  45. flags: [
  46. '--use-static-frameworks'
  47. ]
  48. needs: pod-lib-lint
  49. steps:
  50. - uses: actions/checkout@v4
  51. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  52. - name: Xcode
  53. run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
  54. - name: Setup Bundler
  55. run: scripts/setup_bundler.sh
  56. - name: PodLibLint CoreInternal Cron
  57. run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCoreExtension.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}