You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Configure the host Hermes compiler for one architecture (#442)
* Configure the host Hermes compiler for one architecture
Passing CMAKE_OSX_ARCHITECTURES=arm64;x86_64 to build a universal hermesc
makes llvh's feature try-compiles fail — standard headers report as
missing and the configure dies on CheckAtomic. Configure it the way Hermes
and React Native do, for the host architecture only.
hermesc is then native to the Mac that built the archive, so the archive
name carries the host architecture: a Mac of the other architecture finds
no published archive and builds its own, instead of downloading a hermesc
it cannot execute.
Also assign each command substitution before echoing it into GITHUB_OUTPUT.
Inside `echo "x=$(cmd)"` the step's exit status is echo's, so the failing
build above passed its step with an empty path and only surfaced one step
later, as `gh release upload ""`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UkNbgdyuKgHaFwT27RahGH
* Trigger CI with the labels attached
The workflow's pull_request trigger doesn't fire on `labeled`, so the
label-gated jobs need a synchronize event to be evaluated against.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UkNbgdyuKgHaFwT27RahGH
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/CLI.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,9 @@ The archive is looked for in this order, and cached under `~/Library/Caches/reac
21
21
2. The [release asset](https://github.com/callstackincubator/react-native-node-api/releases) published for the pinned commit by the `Hermes prebuilt` workflow, unless `--no-download` is passed.
22
22
3. A local build from the vendored source, unless `--no-build` is passed. This requires macOS and Xcode, and takes a while — but only once per pinned commit.
23
23
24
-
Its name covers everything that changes its contents: the pinned Hermes commit, the React Native version whose `ReactCommon/jsi` it is compiled against, the build type and the platforms. That makes it usable as a CI cache key.
24
+
Its name covers everything that changes its contents: the pinned Hermes commit, the React Native version whose `ReactCommon/jsi` it is compiled against, the build type, the platforms and the host architecture. That makes it usable as a CI cache key.
25
+
26
+
The host architecture is part of it because `destroot/bin/hermesc` is a native binary for whichever Mac built the archive. Archives are published from Apple Silicon runners, so an Intel Mac finds none to download and builds its own instead of getting a `hermesc` it cannot execute.
25
27
26
28
-`[from]` — Path to a file inside the app package. Defaults to the current working directory.
27
29
-`--react-native-package <package-name>` — The React Native package to resolve Hermes for. Defaults to `react-native`.
0 commit comments