Skip to content

[Swift 6] Add Swift 6 testing for SharedSwift #1585

[Swift 6] Add Swift 6 testing for SharedSwift

[Swift 6] Add Swift 6 testing for SharedSwift #1585

Workflow file for this run

name: shared-swift
on:
pull_request:
paths:
- 'FirebaseSharedSwift**'
- '.github/workflows/shared-swift.yml'
- 'Gemfile*'
schedule:
# Run every day at 3am (PST) - cron uses UTC times
- cron: '0 11 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
pod-lib-lint:
# 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:
target: [ios] #, tvos, macos, watchos]
build-env:
- os: macos-14
xcode: Xcode_15.2
swift_version: 5.9
- os: macos-15
xcode: Xcode_16.2
swift_version: 5.9
- os: macos-15
xcode: Xcode_16.2
swift_version: 6.0
runs-on: ${{ matrix.build-env.os }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
# - name: Setup Bundler
# run: scripts/setup_bundler.sh
# - name: Xcode
# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
- name: Set Swift swift_version
run: sed -i "" "s/s.swift_version[[:space:]]*=[[:space:]]*'5.9'/s.swift_version = '${{ matrix.build-env.swift_version }}'/" FirebaseSharedSwift.podspec; cat FirebaseSharedSwift.podspec
# - name: Build and test
# run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseSharedSwift.podspec --platforms=${{ matrix.target }}
# spm-package-resolved:
# env:
# FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
# runs-on: macos-14
# 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 }}
# spm:
# # 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:
# target: [iOS, tvOS, macOS, catalyst, watchOS]
# build-env:
# - os: macos-14
# xcode: Xcode_15.2
# - os: macos-15
# xcode: Xcode_16.2
# runs-on: ${{ matrix.build-env.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.build-env.xcode }}.app/Contents/Developer
# - name: Initialize xcodebuild
# run: scripts/setup_spm_tests.sh
# - name: Unit Tests
# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseSharedSwiftTests ${{ matrix.target }} spm