-
Notifications
You must be signed in to change notification settings - Fork 2.5k
fix(core): ensure output paths returned are unique #18207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(core): ensure output paths returned are unique #18207
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
abae52e
to
2849a54
Compare
☁️ Nx Cloud ReportCI is running/has finished running commands for commit f490119. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 4 targets
Sent with 💌 from NxCloud. |
4ff189a
to
b5230bb
Compare
3f7d9b7
to
3c8245a
Compare
It is possible for users to define multiple duplicate outputs. This is leading to fs related issues like `ENOTEMPTY: directory not empty, rmdir`. The reason this occurs is that the src will tried to be copied to the cached directory in parallel for all output paths and is the reason why these errors are seen sporadically. By ensuring output paths are unique, we only ever copy one path which resolves this issue. fixes nrwl#17277, #nrwl#16337
3c8245a
to
f490119
Compare
It is possible for users to define multiple duplicate outputs in their project.json. This is leading to fs related issues like `ENOTEMPTY: directory not empty, rmdir`. The reason this occurs is that the src will tried to be copied to the cached directory in parallel for all output paths (even duplicated ones) and is the reason why these errors are seen sporadically. By ensuring output paths are unique, we only ever copy one path which resolves this issue. Note: There may still be an issue present if there is a glob that is overlapping another directory i.e: `cdk.out/*` and `cdk.out`, however have not been able to reproduce a fs error while testing. fixes #17277, #16337 ## Current Behavior If you have a project.json which has duplicate output entires, it is possible to receive fs related errors when the cache is being written to disk. ## Expected Behavior each output should only be copied once into the caches directory. ## Related Issue(s) #17277, #16337 Fixes #17277, #16337 (cherry picked from commit 918b8fb)
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
It is possible for users to define multiple duplicate outputs in their project.json. This is leading to fs related issues like
ENOTEMPTY: directory not empty, rmdir
. The reason this occurs is that the src will tried to be copied to the cached directory in parallel for all output paths (even duplicated ones) and is the reason why these errors are seen sporadically. By ensuring output paths are unique, we only ever copy one path which resolves this issue.Note: There may still be an issue present if there is a glob that is overlapping another directory i.e:
cdk.out/*
andcdk.out
, however have not been able to reproduce a fs error while testing.fixes #17277, #16337
Current Behavior
If you have a project.json which has duplicate output entires, it is possible to receive fs related errors when the cache is being written to disk.
Expected Behavior
each output should only be copied once into the caches directory.
Related Issue(s)
#17277, #16337
Fixes #17277, #16337