Skip to content

Add private concurrency checker dodging type #5370

Add private concurrency checker dodging type

Add private concurrency checker dodging type #5370

Workflow file for this run

# TODO(Swift 6): Re-enable these tests.
# name: spm
# on:
# pull_request:
# paths:
# - '.github/workflows/spm.yml'
# - 'Package.swift'
# - '.swiftpm/*'
# - 'scripts/build.sh'
# - 'SwiftPMTests/*'
# - 'SwiftPM-PlatformExclude'
# - 'Gemfile*'
# schedule:
# # Run every day at 12am (PST) - cron uses UTC times
# - cron: '0 8 * * *'
# # This workflow builds and tests the Swift Package Manager. Only iOS runs on PRs
# # because each platform takes 15-20 minutes after adding Firestore.
# concurrency:
# group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
# cancel-in-progress: true
# env:
# FIREBASE_CI: true
# jobs:
# spm-package-resolved:
# env:
# FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
# runs-on: macos-15
# outputs:
# cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
# steps:
# - uses: actions/checkout@v4
# - name: Generate Swift Package.resolved
# id: swift_package_resolve
# run: |
# swift package resolve
# - name: Generate cache key
# id: generate_cache_key
# run: |
# cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}"
# echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT"
# - uses: actions/cache/save@v4
# id: cache
# with:
# path: .build
# key: ${{ steps.generate_cache_key.outputs.cache_key }}
# swift-build-run:
# # 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'
# needs: [spm-package-resolved]
# strategy:
# matrix:
# include:
# - os: macos-15
# xcode: Xcode_16.2
# test: spm
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache/restore@v4
# with:
# path: .build
# key: ${{needs.spm-package-resolved.outputs.cache_key}}
# - name: Clone mock responses for Vertex AI unit tests
# run: scripts/update_vertexai_responses.sh
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - name: Initialize xcodebuild
# run: scripts/setup_spm_tests.sh
# - name: Functions Integration Test Server
# run: FirebaseFunctions/Backend/start.sh synchronous
# - uses: nick-fields/retry@v3
# with:
# timeout_minutes: 120
# max_attempts: 3
# retry_on: error
# retry_wait_seconds: 120
# command: scripts/build.sh Firebase-Package iOS ${{ matrix.test }}
# # Test iOS Device build since some Firestore dependencies build different files.
# iOS-Device:
# # 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'
# needs: [spm-package-resolved]
# strategy:
# matrix:
# include:
# - os: macos-15
# xcode: Xcode_16.2
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache/restore@v4
# with:
# path: .build
# key: ${{needs.spm-package-resolved.outputs.cache_key}}
# - name: Clone mock responses for Vertex AI unit tests
# run: scripts/update_vertexai_responses.sh
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - name: Initialize xcodebuild
# run: scripts/setup_spm_tests.sh
# - name: iOS Device and Test Build
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh Firebase-Package iOS-device spmbuildonly
# platforms:
# # 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'
# needs: [spm-package-resolved]
# strategy:
# matrix:
# # Full set of Firebase-Package tests only run on iOS. Run subset on other platforms.
# # visionOS isn't buildable from here (even with Firestore source) because the test
# # targets need Analytics.
# target: [tvOS, macOS, catalyst]
# include:
# - os: macos-15
# xcode: Xcode_16.2
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/cache/restore@v4
# with:
# path: .build
# key: ${{needs.spm-package-resolved.outputs.cache_key}}
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - name: Initialize xcodebuild
# run: scripts/setup_spm_tests.sh
# - name: Objc Import Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh objc-import-test ${{ matrix.target }} spm
# - name: Swift Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh swift-test ${{ matrix.target }} spm
# - name: Version Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh version-test ${{ matrix.target }} spm
# - name: Analytics Build Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh analytics-import-test ${{ matrix.target }} spm