All Meta changes coming from the internal code must pass the PR validation
- Dominant language
- JavaScript
- Stars
- 11.3k
- Forks
- 859
- Avg merge
- 1h 30m
- Merged PRs (30d)
- 3
Description
## Problem
New changes that come from Meta sync ups sometimes cause the PR validation issues.
As a result, submitting 3rd party PRs often cause unexpected issues, because the code in `static_h` does not pass them.
It may also cause the `static_h` code to be in an unstable state.
## Solution
The internal Meta sync up commits must not merge unless they pass all PR validation tests.
## Additional Context
For example, the build break here: https://github.com/facebook/hermes/actions/runs/22562594893/job/65352130925?pr=1922
```
C:\a\hermes\hermes\hermes\lib\Support\FastArraySearch.cpp(106,43): error C2078: too many initializers [C:\a\hermes\hermes\build\lib\Support\hermesSupport_obj.vcxproj]
C:\a\hermes\hermes\hermes\lib\Support\FastArraySearch.cpp(106,43):
the template instantiation context (the oldest one first) is
C:\a\hermes\hermes\hermes\lib\Support\FastArraySearch.cpp(232,10):
see reference to function template instantiation 'int64_t hermes::`anonymous-namespace'::searchU32Impl(llvh::ArrayRef,size_t,size_t,uint32_t)' being compiled
C:\a\hermes\hermes\hermes\lib\Support\FastArraySearch.cpp(106,43): error C2131: expression did not evaluate to a constant [C:\a\hermes\hermes\build\lib\Support\hermesSupport_obj.vcxproj]
C:\a\hermes\hermes\hermes\lib\Support\FastArraySearch.cpp(106,43):
a non-constant (sub-)expression was encountered
```
It is caused by the commit: https://github.com/facebook/hermes/commit/f2827aac467a05110f3c9e350116b52354916c0d
This commit fails 2 tests.
It seems that the PR validation is run, but it is run after the commit and it does not stop the commit if something is wrong.
Contributor guide
Research direction
Start by reviewing the PR validation behavior for internal Meta sync commits and the failed validation run linked in the issue. Reproduce or inspect the failures in static_h, including FastArraySearch.cpp and the two tests attributed to commit f2827aac467a05110f3c9e350116b52354916c0d; done means failing validation prevents the internal commit from merging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, github-actions
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100