archiving.yml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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 3am (PDT) / 6am (EDT) - 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", "FirebaseInAppMessaging", "FirebasePerformance"]
  24. steps:
  25. - uses: actions/checkout@v4
  26. - name: Set Xcode version
  27. run: sudo xcode-select -s /Applications/Xcode_16.4.app
  28. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  29. with:
  30. cache_key: cron-${{ matrix.os }}
  31. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  32. - name: Setup Bundler
  33. run: scripts/setup_bundler.sh
  34. - name: Setup project and archive
  35. run: scripts/test_archiving.sh ${{ matrix.pod }} ios ArchiveOutputs/ios.xcarchive
  36. # Archive tests for pods that support iOS, tvOS, and macOS.
  37. pods-ios-tvos-macos-cron:
  38. # Don't run on private repo.
  39. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule')
  40. runs-on: macos-15
  41. strategy:
  42. matrix:
  43. target: [ios, tvos, macos]
  44. # These need to be on a single line or else the formatting won't validate.
  45. pod: ["FirebaseABTesting", "FirebaseAuth", "FirebaseCore", "FirebaseCrashlytics", "FirebaseDatabase", "FirebaseFirestore", "FirebaseFunctions", "FirebaseMessaging", "FirebaseRemoteConfig", "FirebaseStorage"]
  46. steps:
  47. - uses: actions/checkout@v4
  48. - name: Set Xcode version
  49. run: sudo xcode-select -s /Applications/Xcode_16.4.app
  50. - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
  51. with:
  52. cache_key: pods-${{ matrix.os }}
  53. - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
  54. - name: Setup Bundler
  55. run: scripts/setup_bundler.sh
  56. - name: Setup project and archive
  57. run: scripts/test_archiving.sh ${{ matrix.pod }} ${{ matrix.target }} ArchiveOutputs/${{ matrix.target }}.xcarchive