archiving.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: archiving
  2. on:
  3. workflow_dispatch:
  4. pull_request:
  5. paths:
  6. - '.github/workflows/archiving.yml'
  7. schedule:
  8. # Run every day at 2am (PST) - cron uses UTC times
  9. # This is set to 3 hours after zip workflow finishes so zip testing can run after.
  10. - cron: '0 10 * * *'
  11. concurrency:
  12. group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  13. cancel-in-progress: true
  14. jobs:
  15. # Archive tests for pods that support iOS only.
  16. pods-ios-only-cron:
  17. # Don't run on private repo.
  18. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule')
  19. runs-on: macos-15
  20. strategy:
  21. matrix:
  22. # These need to be on a single line or else the formatting won't validate.
  23. pod: ["FirebaseAppDistribution", "FirebaseDynamicLinks", "FirebaseInAppMessaging", "FirebasePerformance"]
  24. steps:
  25. - uses: actions/checkout@v4
  26. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  27. with:
  28. cache_key: cron-${{ matrix.os }}
  29. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  30. - name: Setup Bundler
  31. run: scripts/setup_bundler.sh
  32. - name: Setup project and archive
  33. run: scripts/test_archiving.sh ${{ matrix.pod }} ios ArchiveOutputs/ios.xcarchive
  34. # Archive tests for pods that support iOS, tvOS, and macOS.
  35. pods-ios-tvos-macos-cron:
  36. # Don't run on private repo.
  37. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule')
  38. runs-on: macos-15
  39. strategy:
  40. matrix:
  41. target: [ios, tvos, macos]
  42. # These need to be on a single line or else the formatting won't validate.
  43. pod: ["FirebaseABTesting", "FirebaseAuth", "FirebaseCore", "FirebaseCrashlytics", "FirebaseDatabase", "FirebaseFirestore", "FirebaseFunctions", "FirebaseMessaging", "FirebaseRemoteConfig", "FirebaseStorage"]
  44. steps:
  45. - uses: actions/checkout@v4
  46. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  47. with:
  48. cache_key: pods-${{ matrix.os }}
  49. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  50. - name: Setup Bundler
  51. run: scripts/setup_bundler.sh
  52. - name: Setup project and archive
  53. run: scripts/test_archiving.sh ${{ matrix.pod }} ${{ matrix.target }} ArchiveOutputs/${{ matrix.target }}.xcarchive