Skip to content

chore: improve ci required checks - #1174

Merged
troZee merged 2 commits into
mainfrom
chore/ci-improvements
Oct 13, 2026
Merged

troZee merged 2 commits into
mainfrom
chore/ci-improvements

Conversation

@krozniata

@krozniata krozniata commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Summary

This PR makes Android and iOS builds required checks when they should run, and skipped otherwise.

Path-filtered workflows never report when skipped, so they couldn't be required, and PRs could merge with broken native builds. CI is now one workflow with a single Required checks gate, following Reanimated's setup

TODO:

Replace the required check Lint package with Required checks on main

Test Plan

Green CI

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 06:46

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

Push concurrency uses unique commit SHAs, preventing older main-branch runs from being cancelled.

1 open finding
What changed in this PR

Consolidates CI into one required workflow with path-based mobile builds and pinned tooling.

Changes:

  • Adds aggregate required-check handling.
  • Converts platform/lint workflows to reusable workflows.
  • Pins Bun and updates CI actions.
File Description
.github/​workflows/​ci.yml Orchestrates required checks and path filtering.
.github/​workflows/​android.yml Modernizes reusable Android CI.
.github/​workflows/​ios.yml Modernizes reusable iOS CI and caching.
.github/​workflows/​lint.yml Modernizes reusable lint CI.
package.json Pins Bun 1.4.2.
README.md Replaces separate badges with one CI badge.

🧠 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/ci.yml Outdated
@github-actions

Copy link
Copy Markdown

🟢 e2e: 14 passed

All 14 tests in 10 files
Test Time
🟢 tests/basic-pager.e2e.ts · 3 passed 1m 29s
🟢 basic pager › in LTR › pages horizontally 33.3s
🟢 basic pager › in LTR › pages vertically 20.5s
🟢 basic pager › in RTL › pages horizontally with the reversed gesture 35.6s
🟢 tests/issues/issue-1083-modal-set-page.e2e.ts · 1 passed 13.0s
🟢 setPage called behind a native-stack modal lands on the requested page 13.0s
🟢 tests/issues/issue-1098-nested-pager.e2e.ts · 1 passed 11.4s
🟢 outer pager stays responsive after its page count changes around a nested pager 11.4s
🟢 tests/issues/issue-1154-page-change-focus.e2e.ts · 3 passed 37.5s
🟢 leaving a page with setPage blurs its input 11.6s
🟢 leaving a page with a swipe blurs its input 9.2s
🟢 an input focused on the new page keeps focus 16.8s
🟢 tests/material-top-bar.e2e.ts · 1 passed 8.9s
🟢 material top tabs survive a native-stack push and pop 8.9s
🟢 tests/nested-pager-view.e2e.ts · 1 passed 8.7s
🟢 nested horizontal and vertical pagers scroll independently 8.7s
🟢 tests/on-page-selected.e2e.ts · 1 passed 9.9s
🟢 onPageSelected fires an alert for every page change 9.9s
🟢 tests/scrollable-pager-view.e2e.ts · 1 passed 14.2s
🟢 pager inside a ScrollView keeps its page across vertical scrolls 14.2s
🟢 tests/smoke.e2e.ts · 1 passed 7.3s
🟢 horizontal pager pages with the panel buttons 7.3s
🟢 tests/tab-view-inside-scroll-view.e2e.ts · 1 passed 10.3s
🟢 TabView inside a ScrollView swipes tabs and scrolls the page 10.3s

e2e 0.18.0 · 3m 32s · android · run artifacts

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🟢 e2e: 13 passed

All 13 tests in 11 files
Test Time
🟢 tests/basic-pager.e2e.ts · 3 passed 2m 29s
🟢 basic pager › in LTR › pages horizontally 39.3s
🟢 basic pager › in LTR › pages vertically 31.5s
🟢 basic pager › in RTL › pages horizontally with the reversed gesture 1m 18s
🟢 tests/issues/issue-1083-modal-set-page.e2e.ts · 1 passed 1m 48s
🟢 setPage called behind a native-stack modal lands on the requested page 1m 48s
🟢 tests/issues/issue-1096-keyboard-shrink.e2e.ts · 1 passed 46.5s
🟢 keyboard avoidance does not shrink the page under the keyboard 46.5s
🟢 tests/issues/issue-1098-nested-pager.e2e.ts · 1 passed 27.3s
🟢 outer pager stays responsive after its page count changes around a nested pager 27.3s
🟢 tests/issues/issue-1142-search-bar-inset.e2e.ts · 1 passed 22.1s
🟢 FlatList inside the pager gets the search bar safe-area insets 22.1s
🟢 tests/material-top-bar.e2e.ts · 1 passed 42.4s
🟢 material top tabs survive a native-stack push and pop 42.4s
🟢 tests/nested-pager-view.e2e.ts · 1 passed 27.9s
🟢 nested horizontal and vertical pagers scroll independently 27.9s
🟢 tests/on-page-selected.e2e.ts · 1 passed 26.2s
🟢 onPageSelected fires an alert for every page change 26.2s
🟢 tests/scrollable-pager-view.e2e.ts · 1 passed 35.6s
🟢 pager inside a ScrollView keeps its page across vertical scrolls 35.6s
🟢 tests/smoke.e2e.ts · 1 passed 15.9s
🟢 horizontal pager pages with the panel buttons 15.9s
🟢 tests/tab-view-inside-scroll-view.e2e.ts · 1 passed 30.2s
🟢 TabView inside a ScrollView swipes tabs and scrolls the page 30.2s

e2e 0.18.0 · 8m 55s · ios · run artifacts

Comment thread .github/workflows/ci.yml

required:
name: Required checks
needs: [changes, lint, android, ios]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

❤️

@krozniata
krozniata marked this pull request as ready for review October 13, 2026 09:06
@troZee
troZee merged commit ceb1324 into main Oct 13, 2026
12 of 14 checks passed
@troZee
troZee deleted the chore/ci-improvements branch October 13, 2026 09:08
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