Skip to content

infra: Migrate away from ObjC quickstarts #867

infra: Migrate away from ObjC quickstarts

infra: Migrate away from ObjC quickstarts #867

Workflow file for this run

name: firebaseai
on:
pull_request:
paths:
- 'FirebaseAI**'
- '.github/workflows/firebaseai.yml'
- '.github/workflows/common.yml'
- '.github/workflows/common_cocoapods.yml'
- 'scripts/quickstart_build_spm.sh'
- 'scripts/update_firebase_spm_dependency.sh'
- 'Gemfile*'
# Do not run for documentation-only PRs.
- '!**.md'
schedule:
# Run every day at 12am (PDT) / 3am (EDT) - cron uses UTC times
- cron: '0 7 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
permissions:
contents: read # Needed for actions/checkout
actions: write # Needed for actions/cache (save and restore)
jobs:
spm:
strategy:
matrix:
target: [FirebaseAILogicUnit, FirebaseAIUnit]
uses: ./.github/workflows/common.yml
with:
target: ${{ matrix.target }}
setup_command: scripts/update_vertexai_responses.sh
testapp-integration:
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
strategy:
matrix:
include:
- os: macos-15
target: iOS
xcode: Xcode_16.4
- os: macos-26
target: iOS
xcode: Xcode_26.0
runs-on: ${{ matrix.os }}
needs: spm
env:
TEST_RUNNER_FIRAAppCheckDebugToken: ${{ secrets.VERTEXAI_INTEGRATION_FAC_DEBUG_TOKEN }}
TEST_RUNNER_VTXIntegrationImagen: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
secrets_passphrase: ${{ secrets.GHASecretsGPGPassphrase1 }}
steps:
- uses: actions/checkout@v4
- uses: actions/cache/restore@v4
with:
path: .build
key: ${{ needs.spm.outputs.cache_key }}
- name: Run integration tests
run: scripts/repo.sh tests run --secrets ./scripts/secrets/AI.json --platforms ${{ matrix.target }} --xcode ${{ matrix.xcode }} AI
- name: Upload xcodebuild logs
if: failure()
uses: actions/upload-artifact@v4
with:
name: xcodebuild-${{ matrix.target }}-${{ matrix.os }}-${{ matrix.xcode }}.log
path: xcodebuild-*.log
retention-days: 2
pod_lib_lint:
strategy:
matrix:
product: [FirebaseAILogic, FirebaseAI]
uses: ./.github/workflows/common_cocoapods.yml
with:
product: ${{ matrix.product }}
supports_swift6: true
setup_command: scripts/update_vertexai_responses.sh
quickstart:
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
strategy:
matrix:
include:
- os: macos-15
xcode: Xcode_16.4
- os: macos-26
xcode: Xcode_26.0
runs-on: ${{ matrix.os }}
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name || 'main' }}
steps:
- uses: actions/checkout@v4
- name: Xcode
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
- name: Build Quickstart
run: scripts/quickstart_build_spm.sh FirebaseAI