Skip to content

Improve Calamari compile times#1880

Merged
sathvikkumar-octo merged 7 commits intomainfrom
sk/compile-test
Apr 14, 2026
Merged

Improve Calamari compile times#1880
sathvikkumar-octo merged 7 commits intomainfrom
sk/compile-test

Conversation

@sathvikkumar-octo
Copy link
Copy Markdown
Contributor

@sathvikkumar-octo sathvikkumar-octo commented Apr 13, 2026

Improve parallelism in the build by:

  • Doing one solution wide restore upfront
  • Build the whole solution so projects that aren't runtime specific are compiled.
  • Build each runtime in parallel but each runtime is built sequentially
  • Remove semaphores and per package compilation

Compile step improvement from ~15min to ~10min on CI

New
Old

@sathvikkumar-octo sathvikkumar-octo marked this pull request as ready for review April 14, 2026 00:14
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to reduce build/compile time overhead by reducing RID-related restore/build work and simplifying the build pipeline.

Changes:

  • Removed RuntimeIdentifiers from Calamari.Azure to avoid generating RID-specific assets for a library project.
  • Simplified the build restore step to a single dotnet restore call.
  • Reworked Calamari packaging build to build the solution once, then publish per-RID with controlled parallelism.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
source/Calamari.Azure/Calamari.Azure.csproj Removes RuntimeIdentifiers from the Azure library project to avoid RID asset generation.
build/Build.cs Removes per-RID restore loop; relies on a single restore.
build/Build.PackageCalamariProjects.cs Replaces per-project/per-RID build with a single solution build, then per-RID publish grouping.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread build/Build.cs Outdated
@sathvikkumar-octo sathvikkumar-octo changed the title Improve compile times Improve Calamari compile times Apr 14, 2026
Copy link
Copy Markdown
Contributor

@Jtango18 Jtango18 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks promising to me. Will leave for the 👀 of @APErebus to make the final approve verdict though as there's definitely dragons he's familiar with here.

Copy link
Copy Markdown
Contributor

@APErebus APErebus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I did a build locally and no issues so let's ship it and see how it plays out.

@sathvikkumar-octo sathvikkumar-octo merged commit 6897845 into main Apr 14, 2026
33 checks passed
@sathvikkumar-octo sathvikkumar-octo deleted the sk/compile-test branch April 14, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants