Skip to content

Keep MSBuild cache seeded after main merges#10180

Merged
Evangelink merged 4 commits into
mainfrom
dev/amauryleve/fix-msbuild-caching
Jul 23, 2026
Merged

Keep MSBuild cache seeded after main merges#10180
Evangelink merged 4 commits into
mainfrom
dev/amauryleve/fix-msbuild-caching

Conversation

@Evangelink

Copy link
Copy Markdown
Member

MSBuildCache entries were only refreshed nightly, so shared build-input changes on main left PR builds with a completely stale cache. Debug and Release also shared an immutable cache universe, causing publication collisions.

This change adds a batched main merge seed stage for both configurations while retaining the nightly fallback. It isolates Debug and Release cache universes, fixes the rooted Windows detached-access exclusion, and disables warnings-as-errors only for cache builds where allowlisted detached telemetry access is intentionally reported as a warning. The regular Arcade build remains strict and authoritative.

A clean MSTest.slnf population followed by a cache build produced 158/158 hits and reduced wall time from 142.71 seconds to 30.91 seconds (78%). XML/YAML parsing, markdownlint, and git diff --check completed successfully.

Seed Debug and Release cache universes after main merges, fix detached Windows path matching, and document cache validation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3bb98fb9-c4bd-48ab-b6e1-1eced102c7d7
Copilot AI review requested due to automatic review settings July 23, 2026 14:43
Comment thread azure-pipelines.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates the Azure Pipelines workflow and developer documentation to keep MSBuildCache entries fresher by seeding caches on main merges (Debug + Release), while retaining nightly builds as a fallback.

Changes:

  • Enable main branch CI trigger with path exclusions to avoid unnecessary runs.
  • Add a dedicated msbuild_cache_seed stage that seeds MSBuildCache for Debug/Release on trusted main CI.
  • Update docs and build properties to reflect cache universes per configuration and correct rooted path exclusions.
Show a summary per file
File Description
docs/dev-guide.md Documents new cache seeding behavior and local validation flags.
azure-pipelines.yml Adds main CI trigger + dedicated cache seed stage; adjusts build stage conditions.
Directory.Build.props Splits cache universe by configuration; fixes detached-process exclusions to be rooted.

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 4
  • Review effort level: Low

Comment thread azure-pipelines.yml Outdated
Comment thread azure-pipelines.yml
Comment thread azure-pipelines.yml Outdated
Comment thread docs/dev-guide.md Outdated
@Evangelink Evangelink added the state/needs-review Awaiting review from the team. label Jul 23, 2026
@Evangelink
Evangelink enabled auto-merge (squash) July 23, 2026 18:07
Quote cache path arguments and clarify which main merges trigger cache seeding.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3bb98fb9-c4bd-48ab-b6e1-1eced102c7d7
Copilot AI review requested due to automatic review settings July 23, 2026 18:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Medium

Comment thread azure-pipelines.yml
Keep the batched main-merge seed stage as the only remote cache publisher so scheduled and manual canary builds cannot race it.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3bb98fb9-c4bd-48ab-b6e1-1eced102c7d7
Copilot AI review requested due to automatic review settings July 23, 2026 18:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Medium

Comment thread azure-pipelines.yml Outdated
Allow XLF-only main merges to trigger the sole writable MSBuild cache seed stage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3bb98fb9-c4bd-48ab-b6e1-1eced102c7d7
Copilot AI review requested due to automatic review settings July 23, 2026 18:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Medium

@Evangelink
Evangelink merged commit a8b499e into main Jul 23, 2026
33 checks passed
@Evangelink
Evangelink deleted the dev/amauryleve/fix-msbuild-caching branch July 23, 2026 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state/needs-review Awaiting review from the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants