Skip to content

fix(apple): build on Firebase Apple SDK 13 and require macOS 11 for Swift packages #192

fix(apple): build on Firebase Apple SDK 13 and require macOS 11 for Swift packages

fix(apple): build on Firebase Apple SDK 13 and require macOS 11 for Swift packages #192

name: e2e-crashlytics
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-crashlytics
cancel-in-progress: true
# Deliberately CocoaPods on iOS as well as macOS: the example's Xcode project
# runs `"${PODS_ROOT}/FirebaseCrashlytics/run"` as a build phase, and PODS_ROOT
# does not exist under Swift Package Manager.
#
# Thin caller: one job per platform this product supports, each delegating
# to the matching `reusable_e2e_<platform>.yaml`. Platforms the product does
# not support have no job here, so they render no check at all.
# Path-filtered so it only runs when this product or its dependencies change;
# the nightly workflow_call still runs it unconditionally.
on:
pull_request:
paths:
- 'packages/firebase_crashlytics/**'
- 'packages/firebase_core/**'
- '.github/workflows/e2e_tests_crashlytics.yaml'
- '.github/workflows/reusable_e2e_*.yaml'
- '.github/actions/setup-flutterfire/**'
- '.github/workflows/scripts/**'
push:
branches:
- main
paths:
- 'packages/firebase_crashlytics/**'
- 'packages/firebase_core/**'
- '.github/workflows/e2e_tests_crashlytics.yaml'
- '.github/workflows/reusable_e2e_*.yaml'
- '.github/actions/setup-flutterfire/**'
- '.github/workflows/scripts/**'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART:
required: true
TESTS_E2E_GOOGLE_SERVICES_JSON:
required: true
permissions:
contents: read
jobs:
changes:
uses: ./.github/workflows/reusable_e2e_changes.yaml
with:
package-path: 'packages/firebase_crashlytics/firebase_crashlytics'
platform-interface-package: 'firebase_crashlytics_platform_interface'
inject-config-secrets: true
android:
needs: changes
if: needs.changes.outputs.android == 'true'
uses: ./.github/workflows/reusable_e2e_android.yaml
with:
package-path: 'packages/firebase_crashlytics/firebase_crashlytics'
package-scope: 'firebase_crashlytics*'
native-config-args: '--live-tier-plist=crashlytics'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
ios:
needs: changes
if: needs.changes.outputs.ios == 'true'
uses: ./.github/workflows/reusable_e2e_ios.yaml
with:
package-path: 'packages/firebase_crashlytics/firebase_crashlytics'
package-scope: 'firebase_crashlytics*'
cache-key-suffix: 'crashlytics'
ios-spm: false
native-config-args: '--live-tier-plist=crashlytics'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
macos:
needs: changes
if: needs.changes.outputs.macos == 'true'
uses: ./.github/workflows/reusable_e2e_macos.yaml
with:
package-path: 'packages/firebase_crashlytics/firebase_crashlytics'
package-scope: 'firebase_crashlytics*'
cache-key-suffix: 'crashlytics'
native-config-args: '--live-tier-plist=crashlytics'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}