Skip to content
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

MicroBuild does not concurrently send files to ESRP on Mac & Linux #4793

Open
ellahathaway opened this issue Dec 5, 2024 · 2 comments
Open
Assignees

Comments

@ellahathaway
Copy link
Member

Description of the Problem

MicroBuild, the tool responsible for sending files to ESRP for signing, exhibits different behaviors on Windows vs Mac and Linux. On Windows, MicroBuild ships multiple files at a time on multiple threads. On Mac and Linux, MicroBuild send a single file on a single thread to ESRP. This creates timeout issues on Mac & Linux and increases build time significantly. It is the difference between sending one file per thread using a single thread versus sending 50 files per thread using 50 threads.

Current Solution/Status

The MicroBuild team is investigating a fix. Meanwhile, it is possible to increase the thread count for the MicroBuild task. See this section of code (internal Microsoft link)

Although this adjustment won't match the concurrency level of Windows (50 threads each sending one file vs. 50 threads each sending 50 files), it should help reduce build times on Mac and Linux.

@dotnet-issue-labeler dotnet-issue-labeler bot added area-build Improvements in source-build's own build process untriaged labels Dec 5, 2024
@MichaelSimons MichaelSimons added area-unified-build and removed untriaged area-build Improvements in source-build's own build process labels Dec 5, 2024
@ellahathaway ellahathaway self-assigned this Dec 10, 2024
@ellahathaway ellahathaway moved this to Blocked in .NET Unified Build Dec 10, 2024
@ellahathaway
Copy link
Member Author

Increasing thread count on mac appears to introduce concurrency issues for ESRP. This occurred when the thread count was >= 20. I am investigating if the issue still occurs with a thread count 1 < count < 20

@ellahathaway
Copy link
Member Author

I moved this to be a sub-issue of #4678. The reasoning for this is that this issue preventing me from being able to remove the forced dry-run signing from mac & linux builds in the VMR official pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Blocked
Development

No branches or pull requests

2 participants