Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: repair watchOS link failure and drop watchOS from the CI matrix - #20

Merged
Timo972 merged 2 commits into
masterfrom
timo/fix-watchos-broadcast-protocol-link
Aug 19, 2026
Merged

fix: repair watchOS link failure and drop watchOS from the CI matrix#20
Timo972 merged 2 commits into
masterfrom
timo/fix-watchos-broadcast-protocol-link

Conversation

@Timo972

@Timo972 Timo972 commented Aug 19, 2026

Copy link
Copy Markdown

All watchOS build/analyze jobs in WDA Tests have failed since the upstream v16.4.0 sync with:

Undefined symbols for architecture arm64:
  "_FBBroadcastDefaultControlPort", referenced from:
      +[FBConfiguration broadcastControlPort] in FBConfiguration.o

Root cause

The sync brought in upstream's new WebDriverAgentLib_watchOS target. Its Sources phase compiles FBConfiguration.m — which references FBBroadcastDefaultControlPort — but not FBBroadcastProtocol.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

  1. Fix the link failure: add FBBroadcastProtocol.m to the WebDriverAgentLib_watchOS Sources phase (one PBXBuildFile + one phase entry). The file depends only on Foundation — its header documents that constraint — so it is watchOS-safe. Watch targets build again locally.
  2. Drop watchOS from the WDA Tests matrix: this fork doesn't target watchOS, so the 8 watch build/analyze jobs (two Xcode generations) are removed from the build/analyze matrices along with their env vars. The generic WATCH_MODEL/WATCH_VERSION step-env passthroughs stay to keep the upstream diff minimal (they evaluate to empty).

Verification (local, Xcode 26.4 / watchOS 26.4 SDK)

  • WebDriverAgentLib_watchOSgeneric/platform=watchOS Simulator: reproduced the link failure before the fix, BUILD SUCCEEDED after
  • WebDriverAgentRunner_watchOSgeneric/platform=watchOS Simulator: BUILD SUCCEEDED
  • WebDriverAgentRunner_watchOSgeneric/platform=watchOS, ARCHS=arm64, no code signing (same shape as the former Generic_watchOS_Build_* jobs): BUILD SUCCEEDED
  • plutil -lint OK, xcodebuild -list still enumerates all 17 targets, actionlint clean

The WDA Tests run on this PR should now show no watch jobs and no link failures.

🤖 Generated with Claude Code

Timo972 and others added 2 commits August 19, 2026 21:10
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]>
@Timo972 Timo972 changed the title fix: link FBBroadcastProtocol.m into WebDriverAgentLib_watchOS fix: repair watchOS link failure and drop watchOS from the CI matrix Aug 19, 2026
@Timo972
Timo972 merged commit 1af3a5d into master Aug 19, 2026
39 of 43 checks passed
@Timo972
Timo972 deleted the timo/fix-watchos-broadcast-protocol-link branch August 19, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant