@@ -110,27 +110,37 @@ on:
110110 required : false
111111 default : " "
112112
113- # The timeout (in minutes) for the linting to complete. Defaults to 15 .
113+ # The timeout (in minutes) for the linting to complete. Defaults to 20 .
114114 timeout_minutes :
115115 type : number
116116 required : false
117- default : 15
117+ default : 20
118118
119119jobs :
120120 pod-lib-lint :
121121 # Run on the main repo's scheduled jobs or pull requests and manual workflow invocations.
122122 if : (github.repository == 'firebase/firebase-ios-sdk' && github.event_name == 'schedule') || contains(fromJSON('["pull_request", "workflow_dispatch"]'), github.event_name)
123123 strategy :
124+ fail-fast : false
124125 matrix :
125- os : [macos-15]
126- xcode : [Xcode_16.4]
126+ os : [macos-15, macos-26 ]
127+ xcode : [Xcode_16.4, Xcode_26.1 ]
127128 platform : [iOS, tvOS, macOS, watchOS]
129+ exclude :
130+ - os : macos-15
131+ xcode : Xcode_26.1
132+ - os : macos-26
133+ xcode : Xcode_16.4
128134 include :
129135 - os : macos-14
130136 xcode : Xcode_16.2
131137 platform : iOS
132138 runs-on : ${{ matrix.os }}
133139 steps :
140+ - name : Skip, if applicable.
141+ # Skip matrix combinations that weren't requested, while preserving the specific macos-14 / iOS inclusion.
142+ if : contains(join(inputs.platforms), matrix.platform) == false && matrix.os != 'macos-14'
143+ run : exit 0
134144 - uses : actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
135145 - uses : ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
136146 - name : Setup Bundler
@@ -142,6 +152,15 @@ jobs:
142152 command : scripts/setup_bundler.sh
143153 - name : Xcode
144154 run : sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
155+ - name : Install simulators in case they are missing.
156+ if : matrix.platform != 'macOS'
157+ uses : nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
158+ with :
159+ timeout_minutes : 15
160+ max_attempts : 5
161+ retry_wait_seconds : 120
162+ continue_on_error : true
163+ command : xcodebuild -downloadPlatform ${{ matrix.platform }}
145164 - name : Set conditional environment variable, if needed.
146165 if : inputs.product == 'FirebaseAuth'
147166 run : echo "FIREBASE_CI=true" >> $GITHUB_ENV
0 commit comments