28
28
strategy :
29
29
matrix :
30
30
podspec : [FirebaseAuthInterop.podspec, FirebaseAuth.podspec]
31
- # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532
32
31
target : [ios, tvos, macos --skip-tests, watchos]
33
- os : [macos-14, macos-13]
34
- include :
35
- - os : macos-14
36
- xcode : Xcode_15.3
37
- tests : --skip-tests
38
- - os : macos-13
39
- xcode : Xcode_15.2
40
- tests :
32
+ os : [macos-14]
33
+ xcode : [Xcode_15.2]
41
34
runs-on : ${{ matrix.os }}
42
35
steps :
43
36
- uses : actions/checkout@v4
48
41
run : scripts/configure_test_keychain.sh
49
42
- name : Xcode
50
43
run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
51
- # TODO: Restore warnings check after resolution of #11693
52
44
- uses : nick-fields/retry@v3
53
45
with :
54
46
timeout_minutes : 120
57
49
retry_wait_seconds : 120
58
50
command : scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} ${{ matrix.tests }}
59
51
52
+ # TODO: Fix warnings on Xcode 16 and move into matrix above.
53
+ pod-lib-lint-xc16 :
54
+ # Don't run on private repo unless it is a PR.
55
+ if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
56
+
57
+ strategy :
58
+ matrix :
59
+ podspec : [FirebaseAuthInterop.podspec, FirebaseAuth.podspec]
60
+ target : [ios, tvos, macos --skip-tests --allow-warnings, watchos]
61
+ os : [macos-14]
62
+ xcode : [Xcode_16]
63
+ runs-on : ${{ matrix.os }}
64
+ steps :
65
+ - uses : actions/checkout@v4
66
+ - uses : ruby/setup-ruby@v1
67
+ - name : Setup Bundler
68
+ run : scripts/setup_bundler.sh
69
+ - name : Configure test keychain
70
+ run : scripts/configure_test_keychain.sh
71
+ - name : Xcode
72
+ run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
73
+ - uses : nick-fields/retry@v3
74
+ with :
75
+ timeout_minutes : 120
76
+ max_attempts : 3
77
+ retry_on : error
78
+ retry_wait_seconds : 120
79
+ command : scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} ${{ matrix.tests }} --allow-warnings
80
+
60
81
integration-tests :
61
82
# Don't run on private repo unless it is a PR.
62
83
if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
@@ -99,31 +120,43 @@ jobs:
99
120
retry_wait_seconds : 120
100
121
command : ([ -z $plist_secret ] || scripts/build.sh Auth iOS ${{ matrix.scheme }})
101
122
123
+ spm-package-resolved :
124
+ runs-on : macos-14
125
+ outputs :
126
+ cache_key : ${{ steps.generate_cache_key.outputs.cache_key }}
127
+ steps :
128
+ - uses : actions/checkout@v4
129
+ - name : Generate Swift Package.resolved
130
+ id : swift_package_resolve
131
+ run : |
132
+ swift package resolve
133
+ - name : Generate cache key
134
+ id : generate_cache_key
135
+ run : |
136
+ cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}"
137
+ echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT"
138
+ - uses : actions/cache/save@v4
139
+ id : cache
140
+ with :
141
+ path : .build
142
+ key : ${{ steps.generate_cache_key.outputs.cache_key }}
143
+
102
144
spm :
103
145
# Don't run on private repo unless it is a PR.
104
146
if : (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
147
+ needs : [spm-package-resolved]
105
148
strategy :
106
- max-parallel : 1
107
149
matrix :
108
- target : [iOS, tvOS, macOS, catalyst, watchOS]
109
- os : [macos-13, macos-14]
110
- include :
111
- - os : macos-13
112
- xcode : Xcode_15.2
113
- test : spmbuildonly
114
- - os : macos-14
115
- xcode : Xcode_15.3
116
- test : spmbuildonly
117
- - os : macos-14
118
- xcode : Xcode_15.3
119
- target : visionOS
120
- test : spm
150
+ target : [iOS spm, tvOS spm, macOS spmbuildonly, catalyst spm, watchOS spm]
151
+ os : [macos-14]
152
+ xcode : [Xcode_15.2, Xcode_16]
121
153
runs-on : ${{ matrix.os }}
122
154
steps :
123
155
- uses : actions/checkout@v4
124
- - uses : mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
156
+ - uses : actions/cache/restore@v4
125
157
with :
126
- cache_key : spm${{ matrix.os }}-${{ matrix.xcode }}-${{ matrix.target }}
158
+ path : .build
159
+ key : ${{needs.spm-package-resolved.outputs.cache_key}}
127
160
- name : Xcode
128
161
run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
129
162
- name : Initialize xcodebuild
@@ -134,7 +167,7 @@ jobs:
134
167
max_attempts : 3
135
168
retry_on : error
136
169
retry_wait_seconds : 120
137
- command : scripts/third_party/travis/retry.sh ./scripts/build.sh AuthUnit ${{ matrix.target }} ${{ matrix.test }}
170
+ command : scripts/third_party/travis/retry.sh ./scripts/build.sh AuthUnit ${{ matrix.target }}
138
171
139
172
catalyst :
140
173
# Don't run on private repo unless it is a PR.
@@ -187,7 +220,7 @@ jobs:
187
220
# steps:
188
221
# - uses: actions/checkout@v4
189
222
# - uses: ruby/setup-ruby@v1
190
- # - uses: actions/setup-python@v4
223
+ # - uses: actions/setup-python@v5
191
224
# with:
192
225
# python-version: '3.11'
193
226
# - name: Setup quickstart
0 commit comments