name: archiving on: pull_request: paths: - '.github/workflows/archiving.yml' schedule: # Run every day at 2am (PST) - cron uses UTC times # This is set to 3 hours after zip workflow finishes so zip testing can run after. - cron: '0 10 * * *' concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true jobs: # Archive tests for pods that support iOS only. pods-ios-only-cron: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') runs-on: macos-11 strategy: matrix: # These need to be on a single line or else the formatting won't validate. pod: ["FirebaseAppDistribution", "FirebaseDynamicLinks", "FirebaseInAppMessaging", "FirebasePerformance"] steps: - uses: actions/checkout@v2 - uses: mikehardy/buildcache-action@50738c6c77de7f34e66b870e4f8ede333b69d077 with: cache_key: ${{ matrix.os }} - name: Setup Bundler run: scripts/setup_bundler.sh - name: Setup project and archive run: scripts/test_archiving.sh ${{ matrix.pod }} ios ArchiveOutputs/ios.xcarchive # Archive tests for pods that support iOS, tvOS, and macOS. pods-ios-tvos-macos-cron: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') runs-on: macos-11 strategy: matrix: target: [ios, tvos, macos] # These need to be on a single line or else the formatting won't validate. pod: ["FirebaseABTesting", "FirebaseAuth", "FirebaseCore", "FirebaseCrashlytics", "FirebaseDatabase", "FirebaseFirestore", "FirebaseFunctions", "FirebaseMessaging", "FirebaseRemoteConfig", "FirebaseStorage"] steps: - uses: actions/checkout@v2 - uses: mikehardy/buildcache-action@50738c6c77de7f34e66b870e4f8ede333b69d077 with: cache_key: ${{ matrix.os }} - name: Setup Bundler run: scripts/setup_bundler.sh - name: Setup project and archive run: scripts/test_archiving.sh ${{ matrix.pod }} ${{ matrix.target }} ArchiveOutputs/${{ matrix.target }}.xcarchive