@@ -27,25 +27,41 @@ jobs:
2727 # Don't run on private repo unless it is a PR.
2828 if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
2929
30- runs-on : macos-12
3130 strategy :
3231 matrix :
3332 target : [ios, tvos, macos, watchos]
33+ os : [macos-12, macos-13]
34+ include :
35+ - os : macos-12
36+ xcode : Xcode_14.2
37+ - os : macos-13
38+ xcode : Xcode_15.0.1
39+ runs-on : ${{ matrix.os }}
3440 steps :
3541 - uses : actions/checkout@v3
3642 - uses : ruby/setup-ruby@v1
43+ - name : Xcode
44+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
3745 - name : Setup Bundler
3846 run : scripts/setup_bundler.sh
39- - name : Integration Test Server
40- run : FirebaseFunctions/Backend/start.sh synchronous
47+ # The integration tests are flaky on Xcode 15 so only run the unit tests. The integration tests still run with SPM.
48+ # - name: Integration Test Server
49+ # run: FirebaseFunctions/Backend/start.sh synchronous
4150 - name : Build and test
4251 run : |
43- scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseFunctions.podspec --platforms=${{ matrix.target }}
52+ scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseFunctions.podspec \
53+ --test-specs=unit --platforms=${{ matrix.target }}
4454
4555 spm-integration :
4656 # Don't run on private repo unless it is a PR.
4757 if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
48- runs-on : macos-12
58+ strategy :
59+ matrix :
60+ os : [macos-12]
61+ include :
62+ - os : macos-12
63+ xcode : Xcode_14.2
64+ runs-on : ${{ matrix.os }}
4965 env :
5066 FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT : 1
5167 steps :
5773 run : scripts/setup_spm_tests.sh
5874 - name : Integration Test Server
5975 run : FirebaseFunctions/Backend/start.sh synchronous
60- - name : Functions Unit Tests
61- run : scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFunctionsUnit iOS spm
76+ - name : Xcode
77+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
6278 - name : iOS Swift Integration Tests (including Swift library)
6379 run : scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFunctionsIntegration iOS spm
6480 - name : iOS ObjC Integration Tests (using Swift library)
@@ -69,15 +85,23 @@ jobs:
6985 spm-unit :
7086 # Don't run on private repo.
7187 if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
72- runs-on : macos-12
7388 strategy :
7489 matrix :
7590 target : [iOS, tvOS, macOS, catalyst, watchOS]
91+ os : [macos-12, macos-13]
92+ include :
93+ - os : macos-12
94+ xcode : Xcode_14.2
95+ - os : macos-13
96+ xcode : Xcode_15.0.1
97+ runs-on : ${{ matrix.os }}
7698 steps :
7799 - uses : actions/checkout@v3
78100 - uses : mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
79101 with :
80102 cache_key : ${{ matrix.os }}
103+ - name : Xcode
104+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
81105 - name : Initialize xcodebuild
82106 run : scripts/setup_spm_tests.sh
83107 - name : Unit Tests
0 commit comments