name: symbolcollision

# Tests the Pods listed in SymbolCollisionTest/Podfile for symbol collisions.

on:
  workflow_dispatch:
  pull_request:
    paths:
    - '.github/workflows/symbolcollision.yml'
    - 'SymbolCollisionTest/**'
    - 'Gemfile*'
  schedule:
    # Run every day at 1am (PDT) / 4am (EDT) - cron uses UTC times
    - cron:  '0 8 * * *'

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

jobs:
  installation-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'
    runs-on: macos-15

    steps:
    - uses: actions/checkout@v4
    - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
      with:
        cache_key: symbolcollision
    - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
    - name: Setup Bundler
      run: scripts/setup_bundler.sh
    - name: Xcode
      run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
    - name: Prereqs
      run: scripts/install_prereqs.sh SymbolCollision iOS
    - name: Build
      run: scripts/build.sh SymbolCollision iOS
