facebook / facebook/hermes

All Meta changes coming from the internal code must pass the PR validation

Open
#1,924 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.