Skip to content

test(ci): measure iOS XCTest skip path - #2923

Closed
thymikee wants to merge 1 commit into
mainfrom
perf/ios-smoke-skip-probe
Closed

thymikee wants to merge 1 commit into
mainfrom
perf/ios-smoke-skip-probe

Conversation

@thymikee

@thymikee thymikee commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Summary

Disposable measurement PR on main. One comment in an iOS E2E-owned file triggered iOS and macOS smoke without changing runner code. The exact-head runs confirmed the affected selectors skip iOS XCTest and Apple bridge proof. One file changed; do not merge.

Validation

Exact head c650da540c: pnpm check:affected --base HEAD^ --head HEAD --run passed. The iOS job logged iOS XCTest: skip, skipped targeted XCTest, passed the selection assertion, and took 11m30s on the runner after 47m20s queued. Settings and gesture each passed on the first attempt. The macOS job logged Apple bridge proof: skip and skipped its proof step. A prior probe head took 18m55s on the runner because Settings and gesture retried. #2896's exact-head iOS job took 24m44s running after 29m01s queued. The current probe saved 13m14s of runner time in this pair but finished 5m05s later from job creation because of the queue.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
Installed (including dependencies) 4.81 MB 4.81 MB 0 B
Package (unpacked) 4.81 MB 4.81 MB 0 B
Package (download) 1.44 MB 1.44 MB -9 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 26.3 ms 27.0 ms +0.7 ms
CLI --help 74.2 ms 72.2 ms -2.0 ms

@thymikee

Copy link
Copy Markdown
Member Author

Reviewed at fa4c326. The change itself is a non-functional comment in the E2E-owned iOS XCTest file, so it carries no correctness risk on its own.

Smoke Tests/Coverage is still in progress, so this isn't a failure, it's the measurement the PR exists to produce. The PR body quotes a local pnpm check:affected result showing the iOS XCTest and Apple bridge proof lanes skip for this head, but that's still unconfirmed by a live GitHub Actions run. Can you link the finished run once it lands, and confirm both "iOS XCTest: skip" and "Apple bridge proof: skip" actually show up in the job list, not just in the local check? That's the one thing this PR needs to prove before you close it.

I didn't review #2896's selector logic itself, since this PR is only exercising it, not implementing it.

@thymikee
thymikee added this pull request to stack #2924 September 24, 2026 16:46
Base automatically changed from perf/ios-smoke-critical-path to main September 24, 2026 16:47
@thymikee

Copy link
Copy Markdown
Member Author

The iOS job on fa4c326220 finished green. Its selector logged iOS XCTest: skip; the affected-check model selected no iOS runner build, the targeted XCTest step was skipped, and the Assert iOS XCTest selection was honored step passed. The run took 18m55s on the runner after 1m54s queued.

The macOS job on that head was cancelled when #2896 merged and this probe was rebased onto main. The new head is c650da540c, still a one-file E2E-only diff; its iOS and macOS jobs are queued. I will check the live Apple bridge decision and both exact-head assertions before closing this disposable PR.

@thymikee

Copy link
Copy Markdown
Member Author

This is a follow-up to the earlier review on fa4c326. The macOS bridge-proof job for the rebased head c650da5 (run 36029774856/job 107735285506) has completed and logged "Apple bridge proof: skip; the PR changed no Apple implementation or gate tooling." The sibling iOS job for the same head (run 36029774629/job 107735283335) is still queued with zero steps run, so the iOS-side skip confirmation this probe exists to gather has not been produced on this head yet.

Without that job, the PR cannot be closed with the evidence it was opened to collect: https://github.com/callstack/agent-device/blob/c650da5/test/integration/ios-simulator-e2e/live-webview-remote-content.ts#L8 states the deliverable as live confirmation, on this exact head, that the affected-check model selects skip for the iOS XCTest lane. Closing before that job finishes would leave the post-#2896 iOS skip path unverified on the rebased head.

Wait for run 36029774629/job 107735283335 to finish, then check for the "iOS XCTest: skip" selector line, the targeted-XCTest step showing skipped, and a passing "Assert iOS XCTest selection was honored" step. Once those three show up, this draft can be closed without merging.

CI is pending. The queued Smoke Tests (iOS) job on c650da5 is not a failure or an unrelated gate; it is the exact route this probe PR was opened to measure.

For the earlier fa4c326 head, the skip was inferred from the step list (targeted iOS runner XCTest regressions shown skipped, "Assert iOS XCTest selection was honored" passed) via gh run view --job=107725901859, not from grepping the literal "iOS XCTest: skip" log line. The exact-head iOS job's log content could not be checked because it is still queued. The selector and model logic from #2896 itself was not re-reviewed, which is out of scope for this E2E-only probe.

@thymikee

Copy link
Copy Markdown
Member Author

The requested exact-head proof is complete. iOS Smoke Tests on c650da540c finished green. Its log explicitly says iOS XCTest: skip; the affected-check model selected no iOS runner build; Run targeted iOS runner XCTest regressions is skipped, and Assert iOS XCTest selection was honored passed with SELECTED: false and OUTCOME: skipped. The macOS job on the same head logged Apple bridge proof: skip; the PR changed no Apple implementation or gate tooling, and its proof step was skipped.

The iOS job queued 47m20s and ran 11m30s (58m50s from creation). #2896's exact-head job queued 29m01s and ran 24m44s (53m45s total). This pair saved 13m14s on the runner but finished 5m05s later because of queue time. Settings and gesture passed first try on this probe; the earlier probe head had retries. The measurement is complete, so I am closing this draft without merging.

@thymikee thymikee closed this Sep 24, 2026
@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-24 17:53 UTC

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