diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index ed1e574d5e0..bdf390a761a 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -22,6 +22,12 @@ jobs: with: target: ABTestingUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseABTesting + target: FirebaseABTesting-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -60,29 +66,6 @@ jobs: retry_wait_seconds: 120 command: scripts/pod_lib_lint.rb FirebaseABTesting.podspec --platforms=${{ matrix.target }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseABTesting test FirebaseABTesting-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/appdistribution.yml b/.github/workflows/appdistribution.yml index a79d3a53f90..670f670e183 100644 --- a/.github/workflows/appdistribution.yml +++ b/.github/workflows/appdistribution.yml @@ -22,6 +22,12 @@ jobs: target: AppDistributionUnit platforms: iOS + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseAppDistribution + target: FirebaseAppDistribution-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -46,24 +52,6 @@ jobs: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseAppDistribution.podspec \ --platforms=ios - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build for Catalyst - run: scripts/test_catalyst.sh FirebaseAppDistribution test FirebaseAppDistribution-Unit-unit - appdistribution-cron-only: if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 68bf07f695e..c9e3acd7874 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -27,6 +27,13 @@ jobs: target: AuthUnit buildonly_platforms: macOS + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseAuth + target: FirebaseAuth-Unit-unit + buildonly: true + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -123,28 +130,6 @@ jobs: retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }}) - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseAuth build FirebaseAuth-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/common_catalyst.yml b/.github/workflows/common_catalyst.yml new file mode 100644 index 00000000000..6948e4e3197 --- /dev/null +++ b/.github/workflows/common_catalyst.yml @@ -0,0 +1,52 @@ +name: common_catalyst + +permissions: + contents: read + +on: + workflow_call: + inputs: + # The product to test be tested (e.g. `FirebaseABTesting`). + product: + type: string + required: true + + # The target scheme to be tested (e.g. `FirebaseABTesting-Unit-unit`. + target: + type: string + required: true + + # Whether to build-only. Defaults to false. + buildonly: + type: boolean + required: false + default: false + +jobs: + # TODO: Can this be built via SPM? + catalyst: + # Run on the main repo's scheduled jobs or pull requests and manual workflow invocations. + if: (github.repository == 'firebase/firebase-ios-sdk' && github.event_name == 'schedule') || contains(fromJSON('["pull_request", "workflow_dispatch"]'), github.event_name) + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + # TODO: Remove in favor of ccache. + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: catalyst${{ matrix.os }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 + with: + timeout_minutes: 120 + max_attempts: 3 + retry_on: error + retry_wait_seconds: 120 + command: | + scripts/test_catalyst.sh \ + ${{ inputs.product }} \ + ${{ inputs.buildonly == true && 'build' || 'test' }} \ + ${{ inputs.target }} diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 0387677c351..5c827cdfabc 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -21,6 +21,12 @@ jobs: with: target: CoreUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseCore + target: FirebaseCore-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -72,24 +78,6 @@ jobs: path: .build key: ${{ steps.generate_cache_key.outputs.cache_key }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: ${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build Catalyst - run: scripts/test_catalyst.sh FirebaseCore test FirebaseCore-Unit-unit - core-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' diff --git a/.github/workflows/core_internal.yml b/.github/workflows/core_internal.yml index ffdb590559c..19f5c4d9e29 100644 --- a/.github/workflows/core_internal.yml +++ b/.github/workflows/core_internal.yml @@ -18,6 +18,15 @@ jobs: with: target: FirebaseCoreInternalTests + catalyst: + strategy: + matrix: + target: [FirebaseCoreInternal-Unit-Unit, FirebaseCoreInternal-Unit-Integration] + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseCoreInternal + target: ${{ matrix.target }} + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -47,25 +56,6 @@ jobs: - name: Build and test run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCoreInternal.podspec --platforms=${{ matrix.target }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup Catalyst project and run unit tests - run: scripts/test_catalyst.sh FirebaseCoreInternal test FirebaseCoreInternal-Unit-Unit - - name: Setup Catalyst project and run integration tests - run: scripts/test_catalyst.sh FirebaseCoreInternal test FirebaseCoreInternal-Unit-Integration - core-internal-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 07ff1b1def4..6c1489bc269 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -23,6 +23,12 @@ jobs: with: target: FirebaseCrashlyticsUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseCrashlytics + target: FirebaseCrashlytics-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -57,29 +63,6 @@ jobs: retry_wait_seconds: 120 command: scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --platforms=${{ matrix.target }} ${{ matrix.build-env.tests }} ${{ matrix.flags }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 5 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseCrashlytics test FirebaseCrashlytics-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 7a1b286cb4d..95230d9286a 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -29,6 +29,12 @@ jobs: with: target: ${{ matrix.target }} + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseDatabase + target: FirebaseDatabase-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -71,23 +77,6 @@ jobs: # Only iOS to mitigate flakes. run: scripts/third_party/travis/retry.sh scripts/build.sh Database iOS integration - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build for Catalyst - run: scripts/test_catalyst.sh FirebaseDatabase test FirebaseDatabase-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/firebase_app_check.yml b/.github/workflows/firebase_app_check.yml index 791921e6c8b..aca14b2671b 100644 --- a/.github/workflows/firebase_app_check.yml +++ b/.github/workflows/firebase_app_check.yml @@ -24,6 +24,12 @@ jobs: with: target: ${{ matrix.target }} + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseAppCheck + target: FirebaseAppCheck-Unit-unit + pod_lib_lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -49,20 +55,6 @@ jobs: - name: FirebaseAppCheck run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build for Catalyst - run: scripts/test_catalyst.sh FirebaseAppCheck test FirebaseAppCheck-Unit-unit - diagnostics: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 0f15589ab74..acef876c753 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -22,6 +22,12 @@ jobs: target: FirebaseInstallations buildonly_platforms: all + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseInstallations + target: FirebaseInstallations-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -63,22 +69,6 @@ jobs: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseInstallations.podspec \ --platforms=${{ matrix.target }} --test-specs=${{ matrix.build-env.test-specs }} - catalyst: - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build for Catalyst - run: scripts/test_catalyst.sh FirebaseInstallations test FirebaseInstallations-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index 7af613cb311..390be1250cd 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -29,6 +29,12 @@ jobs: target: MessagingUnit buildonly_platforms: tvOS, macOS, watchOS, catalyst, visionOS + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseMessaging + target: FirebaseMessaging-Unit-unit + # TODO(#12205) Update the build.sh script for this job from "test" instead of "build" messaging-integration-tests: # Don't run on private repo unless it is a PR. @@ -83,23 +89,6 @@ jobs: - name: Build and test run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb ${{ matrix.podspec }} ${{ matrix.build-env.tests }} --platforms=${{ matrix.target }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build Catalyst - run: scripts/test_catalyst.sh FirebaseMessaging test FirebaseMessaging-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/mlmodeldownloader.yml b/.github/workflows/mlmodeldownloader.yml index 3f59912e4ad..7569188c374 100644 --- a/.github/workflows/mlmodeldownloader.yml +++ b/.github/workflows/mlmodeldownloader.yml @@ -21,6 +21,12 @@ jobs: with: target: FirebaseMLModelDownloaderUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseMLModelDownloader + target: FirebaseMLModelDownloader-Unit-unit + pod-lib-lint: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' env: @@ -77,22 +83,6 @@ jobs: - name: PodLibLint MLModelDownloader Cron run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseMLModelDownloader.podspec --platforms=${{ matrix.target }} --use-static-frameworks - catalyst: - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build Catalyst - run: scripts/test_catalyst.sh FirebaseMLModelDownloader test FirebaseMLModelDownloader-Unit-unit - mlmodeldownloader-sample-build-test: # Don't run on private repo unless it is a PR. if: github.repository == 'Firebase/firebase-ios-sdk' && (github.event_name == 'schedule' || github.event_name == 'pull_request') diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index a3f61b9c349..066964ca71c 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -30,6 +30,13 @@ jobs: target: PerformanceUnit platforms: iOS, tvOS + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebasePerformance + target: + buildonly: true + # Build and run the unit tests for Firebase performance SDK. performance: # Don't run on private repo unless it is a PR. @@ -133,22 +140,6 @@ jobs: testapp_dir: quickstart-ios/build-for-testing test_type: "xctest" - catalyst: - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build Catalyst - run: scripts/test_catalyst.sh FirebasePerformance build - performance-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' diff --git a/.github/workflows/remoteconfig.yml b/.github/workflows/remoteconfig.yml index 51ab6b72bfb..a32596de24c 100644 --- a/.github/workflows/remoteconfig.yml +++ b/.github/workflows/remoteconfig.yml @@ -30,6 +30,12 @@ jobs: target: RemoteConfigFakeConsole buildonly_platforms: watchOS + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseRemoteConfig + target: FirebaseRemoteConfig-Unit-unit + remoteconfig: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -97,23 +103,6 @@ jobs: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} \ ${{ matrix.build-env.tests }} - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Setup project and Build for Catalyst - run: scripts/test_catalyst.sh FirebaseRemoteConfig test FirebaseRemoteConfig-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' diff --git a/.github/workflows/sessions.yml b/.github/workflows/sessions.yml index 33e9dbfba9b..77408cfdd58 100644 --- a/.github/workflows/sessions.yml +++ b/.github/workflows/sessions.yml @@ -22,6 +22,12 @@ jobs: with: target: FirebaseSessionsUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseSessions + target: FirebaseSessions-Unit-unit + pod-lib-lint: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -52,26 +58,3 @@ jobs: retry_on: error retry_wait_seconds: 120 command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseSessions.podspec --platforms=${{ matrix.target }} ${{ matrix.build-env.tests }} - - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseSessions test FirebaseSessions-Unit-unit diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 1b11f50f516..364f003209b 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -23,6 +23,12 @@ jobs: with: target: FirebaseStorageUnit + catalyst: + uses: ./.github/workflows/common_catalyst.yml + with: + product: FirebaseStorage + target: FirebaseStorage-Unit-unit + storage-integration-tests: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' @@ -65,28 +71,6 @@ jobs: retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit - quickstart: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'