tools: mock some Python utils in v8.nix to reuse builds#63454
Open
aduh95 wants to merge 1 commit into
Open
Conversation
Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.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.
TL;DR: this change allows us to avoid unnecessary rebuilds on CI.
Because our tooling is not at all tailored for building V8 separately,
v8.nixlists as inputs things that are not related to building V8, causing the cached builds to be invalidated on some unrelated changes. Ideally we would have only things that affect the V8 build as inputs of thev8.nix, that way we would spend GHA time on rebuilding V8 ontest-sharedonly when we actually need it – but there's a tradeoff to be made between avoid unnecessary rebuilds and keeping the maintenance burden ofv8.nixlow enough.I noticed when working on preparing 26.2.0 that the CI had to rebuild V8 between the tip of the staging branch and the release proposal, just because the
nodeversion got bumped, even though thenodeversion has nothing to do with V8 or how it gets built. That PR removesnode_version.hfrom the inputs, as well as all the Python helper files that are helping setting stuff unrelated to V8.