refactor: use hermetic_launcher to invoke node - #2974
Draft
acozzette wants to merge 1 commit into
Draft
Conversation
We currently have a trivial shell script that invokes node with a `--require` flag for our patches. This change replaces that with a hermetic_launcher. There is no one global node binary we can use, since each toolchain can configure its own node. As a result, we need to stamp out a hermetic_launcher for each js_binary target. This is actually nice, though, because this will allow us to incrementally migrate away from our bash launcher and toward hermetic_launcher. With this change, we have a bash launcher wrapping a hermetic_launcher which itself wraps node. hermetic_launcher does not support linux ppc64le or windows arm64, so js_binary no longer builds for those two platforms. If we get complaints, we can look into adding support upstream. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We currently have a trivial shell script that invokes node with a
--requireflag for our patches. This change replaces that with a hermetic_launcher.There is no one global node binary we can use, since each toolchain can configure its own node. As a result, we need to stamp out a hermetic_launcher for each js_binary target. This is actually nice, though, because this will allow us to incrementally migrate away from our bash launcher and toward hermetic_launcher. With this change, we have a bash launcher wrapping a hermetic_launcher which itself wraps node.
hermetic_launcher does not support linux ppc64le or windows arm64, so js_binary no longer builds for those two platforms. If we get complaints, we can look into adding support upstream.
Changes are visible to end-users: no
Test plan