fix: repair watchOS link failure and drop watchOS from the CI matrix - #20
Merged
Merged
Conversation
The upstream v16.3.0 merge introduced the watchOS targets; the new WebDriverAgentLib_watchOS sources phase compiles FBConfiguration.m (which references FBBroadcastDefaultControlPort) but not FBBroadcastProtocol.m that defines it, so every watchOS build/analyze job failed at link with 'Undefined symbols: _FBBroadcastDefaultControlPort'. Add the file to the watchOS lib target like the iOS and tvOS lib targets already do; it only depends on Foundation. Co-Authored-By: Claude Fable 5 <[email protected]>
watchOS came in with the upstream sync and is not something this fork targets; the 8 watch build/analyze jobs (two Xcode generations) burn macOS minutes on every native PR. The watch targets stay buildable locally, they are just no longer exercised in CI. Co-Authored-By: Claude Fable 5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All watchOS build/analyze jobs in WDA Tests have failed since the upstream v16.4.0 sync with:
Root cause
The sync brought in upstream's new
WebDriverAgentLib_watchOStarget. Its Sources phase compilesFBConfiguration.m— which referencesFBBroadcastDefaultControlPort— but notFBBroadcastProtocol.m, which defines it. The iOS and tvOS lib targets both compile that file; the merge never added it to the new watchOS target.Changes
FBBroadcastProtocol.mto theWebDriverAgentLib_watchOSSources phase (onePBXBuildFile+ one phase entry). The file depends only on Foundation — its header documents that constraint — so it is watchOS-safe. Watch targets build again locally.WATCH_MODEL/WATCH_VERSIONstep-env passthroughs stay to keep the upstream diff minimal (they evaluate to empty).Verification (local, Xcode 26.4 / watchOS 26.4 SDK)
WebDriverAgentLib_watchOS→generic/platform=watchOS Simulator: reproduced the link failure before the fix, BUILD SUCCEEDED afterWebDriverAgentRunner_watchOS→generic/platform=watchOS Simulator: BUILD SUCCEEDEDWebDriverAgentRunner_watchOS→generic/platform=watchOS,ARCHS=arm64, no code signing (same shape as the formerGeneric_watchOS_Build_*jobs): BUILD SUCCEEDEDplutil -lintOK,xcodebuild -liststill enumerates all 17 targets,actionlintcleanThe WDA Tests run on this PR should now show no watch jobs and no link failures.
🤖 Generated with Claude Code