Skip to content

Commit

Permalink
[Infra] Break up env-dependent GHA steps into separate job to reduce …
Browse files Browse the repository at this point in the history
…artifact collisions (#11814)
  • Loading branch information
ncooke3 authored Sep 15, 2023
1 parent 455de9c commit 5dcc3fb
Showing 1 changed file with 46 additions and 12 deletions.
58 changes: 46 additions & 12 deletions .github/workflows/firestore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -316,30 +316,69 @@ jobs:
--allow-warnings \
--no-analyze
spm:
spm-source:
# Either a scheduled run from public repo, or a pull request with firestore changes.
if: |
(github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') ||
(github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true')
runs-on: macos-12
needs: check
env:
FIREBASE_SOURCE_FIRESTORE: 1
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 Build Test – Binary
- name: iOS Build Test
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestore iOS spmbuildonly
- name: iOS Build Test – Source
- name: Swift Build
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestoreSwift iOS spmbuildonly

spm-binary:
# Either a scheduled run from public repo, or a pull request with firestore changes.
if: |
(github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') ||
(github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true')
runs-on: macos-12
needs: check
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 Build Test
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestore iOS spmbuildonly
env:
FIREBASE_SOURCE_FIRESTORE: 1
- name: Swift Build
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestoreSwift iOS spmbuildonly

spm-cron:
# TODO: Re-enable either in or after #11706.
# spm-source-cron:
# # Don't run on private repo.
# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
# runs-on: macos-12
# strategy:
# matrix:
# target: [tvOS, macOS, catalyst]
# env:
# FIREBASE_SOURCE_FIRESTORE: 1
# 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: Build Test - Binary
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestore ${{ matrix.target }} spmbuildonly
# - name: Swift Build
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestoreSwift ${{ matrix.target }} spmbuildonly

spm-binary-cron:
# Don't run on private repo.
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
runs-on: macos-12
Expand All @@ -355,11 +394,6 @@ jobs:
run: scripts/setup_spm_tests.sh
- name: Build Test - Binary
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestore ${{ matrix.target }} spmbuildonly
# TODO: Re-enable either in or after #11706.
# - name: Build Test – Source
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestore ${{ matrix.target }} spmbuildonly
# env:
# FIREBASE_SOURCE_FIRESTORE: 1
- name: Swift Build
run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFirestoreSwift ${{ matrix.target }} spmbuildonly

Expand All @@ -369,7 +403,7 @@ jobs:
runs-on: ubuntu-latest
if: always()
name: Check all required Firestore tests results
needs: [cmake, cmake-prod-db, xcodebuild, spm]
needs: [cmake, cmake-prod-db, xcodebuild, spm-source, spm-binary]
steps:
- name: Check test matrix
if: needs.cmake.result == 'failure' || needs.cmake-prod-db.result == 'failure' || needs.xcodebuild.result == 'failure' || needs.spm.result == 'failure'
Expand Down

0 comments on commit 5dcc3fb

Please sign in to comment.