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

Stop utilizing inner clone functionality with the Unified Build plan #3072

Closed
MichaelSimons opened this issue Oct 13, 2022 · 4 comments
Closed
Assignees
Labels
area-infra Source-build infrastructure and reporting Epic Groups multiple user stories. Can be grouped under a theme.

Comments

@MichaelSimons
Copy link
Member

With Arcade powered source-build (arpow) the source code is cloned to an inner repo within the artifacts directory for the source-build repo legs. This is done to get a clean environment in order to properly detect prebuilts without disrupting the developers workspace. The inner clone never added value within the tarball but was kept in place in order to utilize a common code path between the repo legs and the tarball. This inner clone has two significant downsides.

  1. Performance - both in times of coping the source and the disk space requirements it drives.
  2. UX - when a build occurs, devs often use the paths from the errors in build logs to navigate to the offending code. If they make changes to the inner cloned code, those changes will get lost when rebuilding. The inner clone is never preserved.

The inner clone should be removed with the Unified Build plan. Perhaps it would make sense to stop the use within the VMR-lite for .NET 8.0 and within the repo build when source-build is the build in .NET 9.0.

@dotnet-issue-labeler dotnet-issue-labeler bot added area-build Improvements in source-build's own build process untriaged labels Oct 13, 2022
@MichaelSimons MichaelSimons moved this to 8.0 Backlog in .NET Source Build Oct 13, 2022
@MichaelSimons MichaelSimons added area-infra Source-build infrastructure and reporting and removed area-build Improvements in source-build's own build process untriaged labels Oct 20, 2022
@MichaelSimons
Copy link
Member Author

[Triage] Doing this work will also help support incremental builds.

@mmitche
Copy link
Member

mmitche commented Jan 19, 2024

@NikolaMilosavljevic This is complete now, yes?

@mmitche mmitche closed this as completed Jan 23, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in .NET Unified Build Jan 23, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in .NET Source Build Jan 23, 2024
@tkapin
Copy link
Member

tkapin commented Feb 7, 2024

@MichaelSimons / @NikolaMilosavljevic - do we have an estimate of how much time this shaved off of a VMR build?

@NikolaMilosavljevic
Copy link
Member

@MichaelSimons / @NikolaMilosavljevic - do we have an estimate of how much time this shaved off of a VMR build?

On a regular 8 core machine, that used to build product source-build in 46 minutes, this work saved 6 minutes, so close to 15%.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infra Source-build infrastructure and reporting Epic Groups multiple user stories. Can be grouped under a theme.
Projects
Archived in project
Status: Done
Development

No branches or pull requests

4 participants