Skip to content

[build-tools] - Add additional known error categories to build error handlers#3673

Open
AbbanMustafa wants to merge 3 commits intomainfrom
mus/handlebuilderrors
Open

[build-tools] - Add additional known error categories to build error handlers#3673
AbbanMustafa wants to merge 3 commits intomainfrom
mus/handlebuilderrors

Conversation

@AbbanMustafa
Copy link
Copy Markdown
Contributor

@AbbanMustafa AbbanMustafa commented May 4, 2026

Why

~49% of EAS Build errors are considered unknown because they don't match any pattern in the build error handler system. Analysis of ~9,000 events over 5 days identified 12 high-volume patterns accounting for ~5,600 of these unclassified events. Categorizing these helps us break down patterns, and catch new regressions.

How

Added 9 new buildErrorHandler entries for internal Datadog tracking. These only set trackingCode — user-facing errorCode remains unchanged, so there is no change to user-facing behavior.

New tracking codes (by volume):

  • NPM_ERESOLVE — npm peer dependency resolution failures
  • METRO_UNABLE_TO_RESOLVE — Metro module resolution failures
  • PNPM_ERROR — pnpm install errors
  • PREBUILD_DANGEROUS_MOD_ENOENT — missing files in dangerous base mods (non-icon)
  • SYNTAX_ERROR — JavaScript/JSON syntax errors
  • MONOREPO_PACKAGE_JSON_NOT_FOUND — missing package.json in monorepos
  • EXPO_CONFIG_ERROR — Expo config validation errors
  • RUNTIME_VERSION_MISMATCH — expo-updates runtime version issues
  • CONFIG_PLUGIN_RESOLVE_ERROR — failed config plugin resolution

Test Plan

  • Added 13 test cases covering each new handler: positive matches, phase filtering, and platform filtering
  • All 26 tests pass (yarn jest-unit src/buildErrors/__tests__/detectError.test.ts)

@AbbanMustafa AbbanMustafa added the no changelog PR that doesn't require a changelog entry label May 4, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.52%. Comparing base (ddd8bb7) to head (0f1fe92).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3673      +/-   ##
==========================================
+ Coverage   56.24%   56.52%   +0.29%     
==========================================
  Files         879      886       +7     
  Lines       37988    38210     +222     
  Branches     7899     7950      +51     
==========================================
+ Hits        21363    21596     +233     
+ Misses      16527    16516      -11     
  Partials       98       98              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AbbanMustafa AbbanMustafa marked this pull request as ready for review May 5, 2026 05:10
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Subscribed to pull request

File Patterns Mentions
**/* @douglowder

Generated by CodeMention

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

⏩ The changelog entry check has been skipped since the "no changelog" label is present.

@AbbanMustafa AbbanMustafa requested a review from sjchmiela May 5, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant