Skip to content

fix(ios-runner): keep the text-entry fixture inside the iOS guard so tvOS builds - #2975

Merged
thymikee merged 2 commits into
mainfrom
fix/tvos-runner-text-entry-guard
Sep 25, 2026
Merged

thymikee merged 2 commits into
mainfrom
fix/tvos-runner-text-entry-guard

Conversation

@thymikee

@thymikee thymikee commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Summary

npm publish on main fails with exit 65. updateTextEntryWriteBackStatus and the text-entry burst helpers sit below the #endif that closes #if TARGET_OS_IOS, while agentDeviceTextEntryDidChange: compiles for tvOS and calls them, so build:xcuitest:tvos refuses the translation unit and build:package dies inside prepack.

viewDidLoad creates that fixture only under the same iOS guard, so the fix moves the #endif down to keep the whole fixture inside it. One touched file, one moved #endif.

The break landed in 64854afa1d, which no tag contains, so only the unreleased 0.21.15 is affected. No CI lane builds the tvOS or visionOS runner (ios.yml and xctest-nightly.yml are iOS, macos.yml is macOS), which is why main stayed red.

Validation

Tested at 3fdebeb.

  • Positive control: xcrun --sdk appletvsimulator clang -fsyntax-only on the parent commit's file reproduces no visible @interface for 'AgentDeviceRunnerViewController' declares the selector 'updateTextEntryWriteBackStatus'; the fixed file compiles clean for both tvOS and visionOS SDKs.
  • pnpm build:xcuitest:tvos, :visionos, :ios all reach ** TEST BUILD SUCCEEDED **.
  • pnpm build:package, pnpm check:package, and pnpm release:prepare pass; release:prepare produces the tarball that previously could not be built.
  • pnpm check:xctest-selection unchanged at 0 methods reachable by no lane: the guard change moves Objective-C app-fixture code, not an XCTest #if.
  • pnpm check:affected --run reports all runnable checks passed. Its first run flagged one apple-runner wall-clock slow test (5.02s against a 2.5s budget) on a host at load average 21; the file passes in 3.67s and the rerun is clean, so that was contention on this host rather than this change.
  • Risk not closed here: no CI lane compiles the tvOS or visionOS runner, so this class of guard regression has no automated owner. A follow-up lane, or a prepack that stops requiring artifacts nothing builds before release, would prevent a recurrence.

Review in cubic

…tvOS builds

The burst helper and its status writer sit below the #endif that closes TARGET_OS_IOS, while
agentDeviceTextEntryDidChange: compiles for tvOS and calls them, so build:xcuitest:tvos refuses
the translation unit and build:package fails before npm publish. No CI lane builds the tvOS or
visionOS runner, so the guard stayed broken on main. viewDidLoad creates that fixture only under
the same iOS guard, so the helpers belong inside it.
@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-25 11:45 UTC

@github-actions

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
Installed (including dependencies) 4.85 MB 4.85 MB 0 B
Package (unpacked) 4.85 MB 4.85 MB 0 B
Package (download) 1.45 MB 1.45 MB +2 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 18.9 ms 19.2 ms +0.4 ms
CLI --help 52.8 ms 54.9 ms +2.2 ms

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Re-trigger cubic

@thymikee
thymikee merged commit 94433db into main Sep 25, 2026
22 checks passed
@thymikee
thymikee deleted the fix/tvos-runner-text-entry-guard branch September 25, 2026 11:44
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