Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 63 additions & 59 deletions .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,70 +33,74 @@ concurrency:
cancel-in-progress: true

jobs:
spm:
uses: ./.github/workflows/common.yml
with:
target: PerformanceUnit
platforms: iOS, tvOS
# spm:
# uses: ./.github/workflows/common.yml
# with:
# target: PerformanceUnit
# platforms: iOS, tvOS

catalyst:
uses: ./.github/workflows/common_catalyst.yml
with:
product: FirebasePerformance
target:
buildonly: true
# catalyst:
# uses: ./.github/workflows/common_catalyst.yml
# with:
# product: FirebasePerformance
# target:
# buildonly: true

# Build and run the unit tests for Firebase performance SDK.
performance:
# 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
strategy:
matrix:
target: [iOS, tvOS]
test: [unit, proddev]
steps:
- uses: actions/checkout@v4
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: ${{ matrix.target }}${{ matrix.test }}
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
run: scripts/third_party/travis/retry.sh scripts/build.sh Performance ${{ matrix.target }} ${{ matrix.test }}
# # Build and run the unit tests for Firebase performance SDK.
# performance:
# # 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
# strategy:
# matrix:
# target: [iOS, tvOS]
# test: [unit, proddev]
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: ${{ matrix.target }}${{ matrix.test }}
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - name: Xcode
# run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Install xcpretty
# run: gem install xcpretty
# - name: BuildAndTest # can be replaced with pod lib lint with CocoaPods 1.10
# run: scripts/third_party/travis/retry.sh scripts/build.sh Performance ${{ matrix.target }} ${{ matrix.test }}

pod_lib_lint:
uses: ./.github/workflows/common_cocoapods.yml
with:
product: FirebasePerformance
platforms: iOS, tvOS
#TODO: tests are not supported with Xcode 15 because the test spec depends on the iOS 8 GDCWebServer
buildonly_platforms: iOS, tvOS
# pod_lib_lint:
# uses: ./.github/workflows/common_cocoapods.yml
# with:
# product: FirebasePerformance
# platforms: iOS, tvOS
# #TODO: tests are not supported with Xcode 15 because the test spec depends on the iOS 8 GDCWebServer
# buildonly_platforms: iOS, tvOS

quickstart:
uses: ./.github/workflows/common_quickstart.yml
with:
product: Performance
setup_command: scripts/setup_quickstart_spm.sh performance
plist_src_path: scripts/gha-encrypted/qs-performance.plist.gpg
plist_dst_path: quickstart-ios/performance/GoogleService-Info.plist
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# quickstart:
# uses: ./.github/workflows/common_quickstart.yml
# with:
# product: Performance
# setup_command: scripts/setup_quickstart_spm.sh performance
# plist_src_path: scripts/gha-encrypted/qs-performance.plist.gpg
# plist_dst_path: quickstart-ios/performance/GoogleService-Info.plist
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

quickstart-ftl-cron-only:
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'

# if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
if: github.repository == 'Firebase/firebase-ios-sdk'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- uses: actions/setup-python@v5
with:
python-version: '3.11'
Expand All @@ -118,10 +122,10 @@ jobs:
testapp_dir: quickstart-ios/build-for-testing
test_type: "xctest"

performance-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/common_cocoapods_cron.yml
with:
product: FirebasePerformance
platforms: '[ "ios", "tvos" ]'
flags: '[ "--skip-tests --use-static-frameworks" ]'
# performance-cron-only:
# needs: pod_lib_lint
# uses: ./.github/workflows/common_cocoapods_cron.yml
# with:
# product: FirebasePerformance
# platforms: '[ "ios", "tvos" ]'
# flags: '[ "--skip-tests --use-static-frameworks" ]'
159 changes: 82 additions & 77 deletions .github/workflows/storage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,85 +25,90 @@ concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
spm:
uses: ./.github/workflows/common.yml
with:
target: FirebaseStorageUnit

catalyst:
uses: ./.github/workflows/common_catalyst.yml
with:
product: FirebaseStorage
target: FirebaseStorage-Unit-unit
#jobs:
# spm:
# uses: ./.github/workflows/common.yml
# with:
# target: FirebaseStorageUnit
#
# catalyst:
# uses: ./.github/workflows/common_catalyst.yml
# with:
# product: FirebaseStorage
# target: FirebaseStorage-Unit-unit
#
# storage-integration-tests:
# # 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'
# strategy:
# matrix:
# language: [Swift, ObjC]
# include:
# - os: macos-15
# xcode: Xcode_16.4
# env:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
# with:
# cache_key: integration${{ matrix.os }}
# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Install xcpretty
# run: gem install xcpretty
# - name: Install Secret GoogleService-Info.plist
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/storage-db-plist.gpg \
# FirebaseStorage/Tests/Integration/Resources/GoogleService-Info.plist "$plist_secret"
# - name: Install Credentials.h
# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.h.gpg \
# FirebaseStorage/Tests/ObjCIntegration/Credentials.h "$plist_secret"
# - name: Install Credentials.swift
# run: |
# scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.swift.gpg \
# FirebaseStorage/Tests/Integration/Credentials.swift "$plist_secret"
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
# with:
# timeout_minutes: 15
# max_attempts: 3
# retry_wait_seconds: 120
# command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all)
#
# quickstart:
# # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed.
# uses: ./.github/workflows/common_quickstart.yml
# with:
# product: Storage
# setup_command: scripts/setup_quickstart_spm.sh storage
# plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg
# plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist
# run_tests: false
# secrets:
# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

storage-integration-tests:
# 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'
strategy:
matrix:
language: [Swift, ObjC]
include:
- os: macos-15
xcode: Xcode_16.4
jobs:
quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: ${{ matrix.os }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: integration${{ matrix.os }}
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Install xcpretty
run: gem install xcpretty
- name: Install Secret GoogleService-Info.plist
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/storage-db-plist.gpg \
FirebaseStorage/Tests/Integration/Resources/GoogleService-Info.plist "$plist_secret"
- name: Install Credentials.h
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.h.gpg \
FirebaseStorage/Tests/ObjCIntegration/Credentials.h "$plist_secret"
- name: Install Credentials.swift
run: |
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/Storage/Credentials.swift.gpg \
FirebaseStorage/Tests/Integration/Credentials.swift "$plist_secret"
- name: Xcode
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
with:
timeout_minutes: 15
max_attempts: 3
retry_wait_seconds: 120
command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all)

quickstart:
# TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed.
uses: ./.github/workflows/common_quickstart.yml
with:
product: Storage
setup_command: scripts/setup_quickstart_spm.sh storage
plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg
plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist
run_tests: false
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

quickstart-ftl-cron-only:
# Don't run on private repo.
if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
env:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Setup quickstart
run: scripts/setup_quickstart.sh storage
run: QUICKSTART_BRANCH=nc/strg-tests scripts/setup_quickstart_spm.sh storage
- name: Install Secret GoogleService-Info.plist
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \
quickstart-ios/storage/GoogleService-Info.plist "$plist_secret"
Expand All @@ -118,16 +123,16 @@ jobs:
testapp_dir: quickstart-ios/build-for-testing
test_type: "xctest"

pod_lib_lint:
uses: ./.github/workflows/common_cocoapods.yml
with:
product: FirebaseStorage
test_specs: unit
# pod_lib_lint:
# uses: ./.github/workflows/common_cocoapods.yml
# with:
# product: FirebaseStorage
# test_specs: unit

storage-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/common_cocoapods_cron.yml
with:
product: FirebaseStorage
platforms: '[ "ios", "tvos", "macos", "watchos" ]'
flags: '[ "--use-static-frameworks --skip-tests" ]'
# storage-cron-only:
# needs: pod_lib_lint
# uses: ./.github/workflows/common_cocoapods_cron.yml
# with:
# product: FirebaseStorage
# platforms: '[ "ios", "tvos", "macos", "watchos" ]'
# flags: '[ "--use-static-frameworks --skip-tests" ]'
Loading