Skip to content

[Infra] Create common SPM-focused reusable workflow #3657

[Infra] Create common SPM-focused reusable workflow

[Infra] Create common SPM-focused reusable workflow #3657

Workflow file for this run

name: crashlytics
on:
workflow_dispatch:
pull_request:
paths:
- 'Crashlytics**'
- 'FirebaseCrashlytics.podspec'
- '.github/workflows/crashlytics.yml'
- 'Interop/Analytics/Public/*.h'
- 'Gemfile*'
schedule:
# Run every day at 10am (PST) - cron uses UTC times
- cron: '0 2 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
spm:
uses: ./.github/workflows/common.yml
with:
target: FirebaseCrashlyticsUnit
# 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'
#
# strategy:
# matrix:
# target: [ios, tvos, macos, watchos --skip-tests]
# flags: [
# '--use-modular-headers --skip-tests',
# ''
# ]
# build-env:
# - os: macos-14
# xcode: Xcode_16.2
# tests:
# - os: macos-15
# xcode: Xcode_16.2
# tests:
# runs-on: ${{ matrix.build-env.os }}
# 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/${{ matrix.build-env.xcode }}.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/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'
#
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - name: Xcode
# run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
# - name: Setup quickstart
# run: scripts/setup_quickstart.sh crashlytics
# env:
# LEGACY: true
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
# quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
# - name: Test swift quickstart
# run: |
# mkdir quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics
# # Set the deployed pod location of run and upload-symbols with the development pod version.
# cp Crashlytics/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/
# cp Crashlytics/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/
# ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Crashlytics true swift)
# env:
# LEGACY: true
#
# quickstart-ftl-cron-only:
# # Don't run on private repo.
# if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
#
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# runs-on: macos-15
# steps:
# - uses: actions/checkout@v4
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - uses: actions/setup-python@v5
# with:
# python-version: '3.11'
# - name: Xcode
# run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
# - name: Setup quickstart
# run: scripts/setup_quickstart.sh crashlytics
# env:
# LEGACY: true
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \
# quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret"
# - name: Build swift quickstart
# run: |
# mkdir quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics
# # Set the deployed pod location of run and upload-symbols with the development pod version.
# cp Crashlytics/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/
# cp Crashlytics/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Pods/FirebaseCrashlytics/
# ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Crashlytics swift)
# env:
# LEGACY: true
# - id: ftl_test
# uses: FirebaseExtended/github-actions/[email protected]
# with:
# credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
# testapp_dir: quickstart-ios/build-for-testing
# test_type: "xctest"
#
# crashlytics-cron-only:
# # Don't run on private repo.
# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
#
# runs-on: macos-15
# strategy:
# matrix:
# # Disable watchos because it does not support XCTest.
# target: [ios, tvos, macos, watchos --skip-tests]
# flags: [
# '--use-static-frameworks'
# ]
# needs: pod-lib-lint
# 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
# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
# with:
# timeout_minutes: 120
# max_attempts: 3
# retry_on: error
# retry_wait_seconds: 120
# command: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCrashlytics.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}