Skip to content

feat(ios): cache native compilation with ccache - #1176

Merged
krozniata merged 4 commits into
mainfrom
ci/ios-ccache
Oct 14, 2026
Merged

krozniata merged 4 commits into
mainfrom
ci/ios-ccache

Conversation

@krozniata

Copy link
Copy Markdown
Member

Summary

Test Plan

What's required for testing (prerequisites)?

What are the steps to reproduce (after prerequisites)?

Compatibility

OS Implemented
iOS ✅❌
Android ✅❌

Checklist

  • I have tested this on a device and a simulator
  • I added the documentation in README.md
  • I updated the typed files (TS and Flow)

Copilot AI balanced review requested due to automatic review settings October 13, 2026 13:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The cache must be scoped by Xcode version to prevent stale objects after SDK updates.

1 open finding
What changed in this PR

Adds ccache to accelerate repeated iOS native builds in CI.

Changes:

  • Installs and persists a 2 GB ccache.
  • Routes Xcode compilation through ccache.
  • Reports cache statistics after builds.
File Description
.github/​workflows/​ios.yml Configures and uses ccache for iOS CI builds.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/ios.yml
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🟢 e2e: 1 flaky, 12 passed

⚠️ 1 flaky test passed on a retry

⚠️ nested horizontal and vertical pagers scroll independently
tests/nested-pager-view.e2e.ts:38

ASSERTION_FAILED at step 14 of 14: expect.toBeVisible getByText("Vertical page number 1"), after 10.2s

  • Expected: visible
  • Observed: no node (0 matches)
  • Screen: com.pagerviewexample / Nested PagerView Example

Evidence: screenshot, log

All 13 tests in 11 files
Test Time
⚠️ tests/nested-pager-view.e2e.ts · 1 flaky 15.2s
⚠️ nested horizontal and vertical pagers scroll independently (1 failed attempt first) 15.2s
🟢 tests/basic-pager.e2e.ts · 3 passed 1m 48s
🟢 basic pager › in LTR › pages horizontally 32.4s
🟢 basic pager › in LTR › pages vertically 30.2s
🟢 basic pager › in RTL › pages horizontally with the reversed gesture 45.2s
🟢 tests/issues/issue-1083-modal-set-page.e2e.ts · 1 passed 15.6s
🟢 setPage called behind a native-stack modal lands on the requested page 15.6s
🟢 tests/issues/issue-1096-keyboard-shrink.e2e.ts · 1 passed 17.3s
🟢 keyboard avoidance does not shrink the page under the keyboard 17.3s
🟢 tests/issues/issue-1098-nested-pager.e2e.ts · 1 passed 14.9s
🟢 outer pager stays responsive after its page count changes around a nested pager 14.9s
🟢 tests/issues/issue-1142-search-bar-inset.e2e.ts · 1 passed 13.8s
🟢 FlatList inside the pager gets the search bar safe-area insets 13.8s
🟢 tests/material-top-bar.e2e.ts · 1 passed 15.4s
🟢 material top tabs survive a native-stack push and pop 15.4s
🟢 tests/on-page-selected.e2e.ts · 1 passed 13.8s
🟢 onPageSelected fires an alert for every page change 13.8s
🟢 tests/scrollable-pager-view.e2e.ts · 1 passed 22.8s
🟢 pager inside a ScrollView keeps its page across vertical scrolls 22.8s
🟢 tests/smoke.e2e.ts · 1 passed 10.4s
🟢 horizontal pager pages with the panel buttons 10.4s
🟢 tests/tab-view-inside-scroll-view.e2e.ts · 1 passed 18.3s
🟢 TabView inside a ScrollView swipes tabs and scrolls the page 18.3s

e2e 0.18.0 · 4m 52s · ios · run artifacts

@krozniata
krozniata marked this pull request as ready for review October 14, 2026 06:49
troZee
troZee previously approved these changes Oct 14, 2026
@krozniata
krozniata merged commit 3af5d30 into main Oct 14, 2026
9 checks passed
@krozniata
krozniata deleted the ci/ios-ccache branch October 14, 2026 10:42
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.

3 participants