spm #3720
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
jobs: | |
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' | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | |
with: | |
cache_key: ${{ matrix.os }} | |
- name: Initialize xcodebuild | |
run: scripts/setup_spm_tests.sh | |
- name: Functions Integration Test Server | |
run: FirebaseFunctions/Backend/start.sh synchronous | |
- name: iOS Unit Tests | |
run: scripts/third_party/travis/retry.sh ./scripts/build.sh Firebase-Package iOS spm | |
# 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' | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | |
with: | |
cache_key: ${{ matrix.os }} | |
- 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' | |
runs-on: macos-12 | |
strategy: | |
matrix: | |
target: [tvOS, macOS, catalyst] | |
# Full set of Firebase-Package tests only run on iOS. | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 | |
with: | |
cache_key: ${{ matrix.os }} | |
- 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 |