[No QA] Raise PaginationTest per-test timeout to 240s to fix CI timeout flake#93918
Conversation
Co-authored-by: Qichen Zhu <QichenZhu@users.noreply.github.com>
|
@MelvinBot the comment change is unnecessary. The timeout is still insufficient. I have seen it exceed 270s in CI |
Co-authored-by: Qichen Zhu <QichenZhu@users.noreply.github.com>
|
Done — pushed
Let me know if you'd prefer a different value. |
|
@MelvinBot please double check everything including the PR title and description. |
|
Double-checked everything. One thing was out of sync — fixed it:
Everything else verified clean:
The human co-author still needs to fill in the Tests / QA Steps sections before this is marked ready for review. |
|
@MelvinBot GitHub workflow runs tests automatically, so no manual steps needed, and the title should include [No QA]. |
|
Done:
|
Reviewer Checklist
Screenshots/Videos
|
|
|
@QichenZhu why 5x the timeout, lets just do 2x |
|
@MelvinBot let's do 2x then. Please also update the title and description. Thanks! |
Co-authored-by: Qichen Zhu <QichenZhu@users.noreply.github.com>
|
Done — pushed
|
|
No code fix needed — there's nothing failing that a push can fix. All substantive checks are now green, including all 8 The only non-passing check is |
Codecov Report✅ All modified and coverable lines are covered by tests. |
|
@QichenZhu Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.16-1 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.4.16-5 🚀
|


Explanation of Change
tests/ui/PaginationTest.tsxintermittently fails in CI withExceeded timeout of 120000 ms for a teston the first case,opens a chat and load initial messages. This is a pure timeout flake, not a logic bug: that first test mounts the entire<App/>and lazy-loads every React Navigation screen, so it is legitimately slow (~42s locally per the issue evidence). In CI it runs slower still under--coverageinstrumentation and--maxWorkers=6contention on a shared runner, intermittently tipping over the existingjest.setTimeout(120000)ceiling.The prior fix (#74234) already took the cheap optimization wins (replaced the login-form flow with
fastSignInWithTestUser()and batched the Onyx merges), so the remaining cost is the inherent App-mount + lazy-nav work. This change raises the per-test timeout from120000to240000(2x the original) so the suite stops tripping the default on loaded CI runners.The tradeoff is that a genuinely hung test would take longer to fail — acceptable for a full-App integration suite that has no assertion-level failures, only timeouts under load.
Fixed Issues
$ #92493
PROPOSAL: #92493 (comment)
Tests
This is a test-only change to
tests/ui/PaginationTest.tsxthat only raises a Jest per-test timeout. The affected suite runs automatically on every PR via thetestGitHub Actions workflow, so there are no manual test steps.Offline tests
N/A — test-only change.
QA Steps
[No QA] — this change only raises a Jest per-test timeout in a test file; there is no user-facing behavior to validate.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari