-
Notifications
You must be signed in to change notification settings - Fork 479
Optimize windows CI build #3374
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
Comments
Does this long running build block merging PR now? |
The longest running windows job now appears to be one I added .github/workflows/cmake_install.yml#L14 which builds/tests all components in one step then builds/tests the dll component in a second step. A recent run of this job took 43 min to build the vcpkg packages followed by ~18 min for each test run step. Most of the vcpkg build time is on the grpc package. It seems vcpkg builds both release and debug. A few minutes can be saved by not building unused grpc plugins (most are built by default). It may also be possible to only build debug and not release. The bigger savings likely comes from caching the vcpkg built binary packages. Caching the packages seems reasonable:
|
I think binary caching was discussed before, and cache with the container with grpc build was 5 or 6GB, and may be even bigger for now. For cache with NuGet, we have OpenTelemetry .NET publishing package to NuGet, probably we can use the same setting to cache vcpkg blob for gRPC? |
Thanks for the background. Yeah if the vcpkg packages from our vcpkg submodule tag are already cached somewhere trusted/accessible it may not be a big step to configure this project's ci jobs to use the cache. |
Currently taking > 1hr, I think specifically for gRPC build:
The text was updated successfully, but these errors were encountered: