name: analytics

on:
  workflow_dispatch:
  pull_request:
    paths:
    - 'FirebaseAnalytics**'
    - 'GoogleAppMeasurement**'
    - '.github/workflows/analytics.yml'
    - 'Gemfile*'
  schedule:
    # Run every day at 2am (PDT) / 5am (EDT) - cron uses UTC times
    - cron: '0 9 * * *'

concurrency:
    group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
    cancel-in-progress: true

jobs:
  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]
        os: [macos-14, macos-15]
        include:
          - os: macos-14
            xcode: Xcode_16.2
          - os: macos-15
            xcode: Xcode_16.4
    runs-on: ${{ matrix.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.xcode }}.app/Contents/Developer
    - name: GoogleAppMeasurement
      run: scripts/third_party/travis/retry.sh pod spec lint GoogleAppMeasurement.podspec --platforms=${{ matrix.target }} --sources=https://github.com/firebase/SpecsDev.git,https://github.com/firebase/SpecsStaging.git,https://cdn.cocoapods.org/
    - name: FirebaseAnalytics
      run: scripts/third_party/travis/retry.sh pod spec lint FirebaseAnalytics.podspec --platforms=${{ matrix.target }} --sources=https://github.com/firebase/SpecsDev.git,https://github.com/firebase/SpecsStaging.git,https://cdn.cocoapods.org/

# TODO: Consider pushing GoogleAppMeasurement.podspec to SpecsDev to enable similar test
# for FirebaseAnalytics.podspec
