Closed
Conversation
christianscott
approved these changes
Nov 16, 2023
Co-authored-by: Christian Scott <christian.s@canva.com>
Contributor
Author
|
Remaining issue is due to flaws around how Rollup is used. The same issue that had to be solved internally when this change was first rolled out via a I'll need to rework existing Rollup usage to work with this. |
Contributor
Author
|
More issues were discovered. e.g. TypeScript rules ( Given sufficient time these issues can be overcome, however the goal here was to simplify patch management. To that end, repo source will be replaced with Closing PR. |
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.
The existing linker has the following issues;
Symlinks are created in shared spaces that point to action specific runfiles symlink forests and
leading to race conditions (linkers for different executables writing conflicting symlinks). The
latter results in actions running wihtout access to their
node_modulesinputs.Symlink targets are computed in a separate action which may not be using the same execution
strategy or will simply never match if sandboxing is enabled, resulting in invalid symlinks.
The
node_modulescreated closest tocwdpoints to the originally generatednode_modulesexternal repository. This contains all packages for the owning
package.json/yarn.lockpairand in conjunction with
managed_directoriesallows these packages to use files in the userworkspace.
This PR refactors the linker so symlinks are written under
[name].runfiles/in a thread-safe manner.Compared to the previous implementation;
node_modulessymlinks are written inside the runfiles directory of the current executable.managed_directoriesBazel feature.--worker_sandboxingand sandboxed spawn strategies).