[No QA] Fix failing victory-chart-renderer builds - #93859
Conversation
Add export-parity test so incomplete server stubs are caught before deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
Export the full activeSpans API so Bun can compile the headless CLI when shared app code imports getSpan and related telemetry helpers. Co-authored-by: Cursor <cursoragent@cursor.com>
Run server:vcr:test on PRs when VCR-related paths change so compile and golden render failures are caught before staging deploy. Co-authored-by: Cursor <cursoragent@cursor.com>
Add Onyx, NetInfo, localize, and Sentry stubs so the compiled binary can run past module init. Align PR CI with deploy: linux build, smoke test, and unit tests. Fix resolveCanvasSize test expectation for partial dimension input. Co-authored-by: Cursor <cursoragent@cursor.com>
Trigger VCR checks when localization modules change since they are part of the headless chart renderer import graph. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the noop Onyx stub with plain react-native-onyx initialized for the CLI and route storage to MemoryOnlyProvider for headless Bun. Co-authored-by: Cursor <cursoragent@cursor.com>
Route react-native-onyx through a bundler shim so the standalone CLI gets the real API and MemoryOnlyProvider storage. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
@jayeshmangwani 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] |
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9b7058d990
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Use the local src/types/bun.d.ts shim instead of @types/bun to avoid conflicting global require declarations during repo-wide typecheck. Co-authored-by: Cursor <cursoragent@cursor.com>
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
Add bunfig.toml to discover server-side Bun tests while excluding Jest-owned src/ and the VCR golden render suite. Co-authored-by: Cursor <cursoragent@cursor.com>
Run render.test.ts via default bun test discovery so the compiled-binary golden suite runs with npm run test:bun. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace stale #73857E with productLight800 (#76847E) so cartesian chart fixtures match theme-aware goldens after chart chrome color support. Co-authored-by: Cursor <cursoragent@cursor.com>
The tests/ path override is no longer needed now that render.test.ts is included in bunfig discovery. Co-authored-by: Cursor <cursoragent@cursor.com>
Structure VCR bun tests with hierarchical describes, run with --concurrent --max-concurrency 7 on the 8 vCPU CI runner, and extend bun.d.ts with test.serial/concurrent types. Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse npm run test:bun so concurrent test flags live in package.json only. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
npm has a |
📲 Install BuildsAndroid
|
chuckdries
left a comment
There was a problem hiding this comment.
Third time's the charm
|
🚧 @roryabraham has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
[No QA] Fix failing victory-chart-renderer builds (cherry picked from commit 2009544) (cherry-picked to staging by roryabraham)
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Cherry-picked to staging by https://github.com/roryabraham in version: 9.4.10-2 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Cherry-picked to staging by https://github.com/roryabraham in version: 9.4.12-0 🚀
Bundle Size Analysis (Sentry): |
[No QA] Fix failing victory-chart-renderer builds (cherry picked from commit 2009544) (cherry-picked to production by Julesssss)
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.13-0 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Cherry-picked to staging by https://github.com/Julesssss in version: 9.4.14-0 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.14-1 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/Julesssss in version: 9.4.15-0 🚀
|
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.15-3 🚀
|
Explanation of Change
Fixes staging deploy failures in
victoryChartRendererBuildcaused by an incompletetelemetry-activeSpansstub. The headless Bun bundle imports shared app code (e.g.IntlStore) that usesgetSpan, but the stub only exportedstartSpanandendSpan, soBun.compilefailed.Also adds headless stubs for Onyx, NetInfo, localize, and Sentry so the compiled CLI can initialize, plus a PR workflow that tests it at the PR phase.
Fixed Issues
$ #93745
Tests
npm run server:vcr:build:linuxand confirm the compile succeeds.cd server/victory-chart-renderer && bun test tests/stubExports.test.ts tests/resolveCanvasSize.test.tsand confirm all tests pass.Victory Chart Renderer Testsworkflow runs on this PR.Offline tests
N/A — server-side CLI and CI only.
QA Steps
[No QA]
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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
N/A — server/CI only
Android: mWeb Chrome
N/A — server/CI only
iOS: Native
N/A — server/CI only
iOS: mWeb Safari
N/A — server/CI only
MacOS: Chrome / Safari
N/A — server/CI only