@@ -27,25 +27,41 @@ jobs:
27
27
# Don't run on private repo unless it is a PR.
28
28
if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
29
29
30
- runs-on : macos-12
31
30
strategy :
32
31
matrix :
33
32
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 }}
34
40
steps :
35
41
- uses : actions/checkout@v3
36
42
- uses : ruby/setup-ruby@v1
43
+ - name : Xcode
44
+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
37
45
- name : Setup Bundler
38
46
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
41
50
- name : Build and test
42
51
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 }}
44
54
45
55
spm-integration :
46
56
# Don't run on private repo unless it is a PR.
47
57
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 }}
49
65
env :
50
66
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT : 1
51
67
steps :
57
73
run : scripts/setup_spm_tests.sh
58
74
- name : Integration Test Server
59
75
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
62
78
- name : iOS Swift Integration Tests (including Swift library)
63
79
run : scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseFunctionsIntegration iOS spm
64
80
- name : iOS ObjC Integration Tests (using Swift library)
@@ -69,15 +85,23 @@ jobs:
69
85
spm-unit :
70
86
# Don't run on private repo.
71
87
if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
72
- runs-on : macos-12
73
88
strategy :
74
89
matrix :
75
90
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 }}
76
98
steps :
77
99
- uses : actions/checkout@v3
78
100
- uses : mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
79
101
with :
80
102
cache_key : ${{ matrix.os }}
103
+ - name : Xcode
104
+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
81
105
- name : Initialize xcodebuild
82
106
run : scripts/setup_spm_tests.sh
83
107
- name : Unit Tests
0 commit comments