dotnet / dotnet/source-build

Use some kind of synchronization primitive when copying files for prebuilt detection

Open
#4,234 5 comments 0 reactions 0 assignees View on GitHub
area-infra
Dominant language
No language data
Stars
287
Forks
145
Avg merge
1d 22h
Merged PRs (30d)
10

Description

https://github.com/dotnet/installer/blob/4106448ffae0ac01c5cdec31608b7904aaf1ef05/src/SourceBuild/content/repo-projects/Directory.Build.targets#L495-L511 copies restored packages from the inner build to a global cache. Because many builds restore the same packages, it's very possible to race and cause locking issues.

Retries aren't a great solution here because they cause warnings, which can then get picked up as errors. Instead, if a global shared folder is desirable, a custom copy task should be used that handles synchronization between parallel build processes.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.