Repository navigation
Enable ILLink caching and post-build purging in CI - #135067
Merged
Merged
Conversation
|
Azure Pipelines: Successfully started running 6 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
|
Tagging subscribers to this area: @agocke, @dotnet/illink |
sbomer
added this pull request to stack #135070
October 1, 2026 22:43
This was referenced Oct 2, 2026
Open
sbomer
force-pushed
the
sbomer/illink-ci-cache
branch
from
October 2, 2026 17:27
031091b to
486774e
Compare
This was referenced Oct 2, 2026
Open
sbomer
force-pushed
the
sbomer/illink-ci-cache
branch
from
October 5, 2026 20:07
486774e to
22842f2
Compare
Cache eligible whole-task invocations with environment-only opt-in and explicit timestamp-based purging. Bypass caching for extra arguments; runtime-specific argument support is deferred to the next layer. Assisted-by: Copilot:gpt-6-astra Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
Assisted-by: Copilot:gpt-6-astra Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
Assisted-by: Copilot:gpt-6-astra Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
Replace the write-to-temp + File.Replace + retry approach with a plain overwrite. File.Replace's ReplaceFile API isn't meant for concurrent writers to the same destination, which caused a transient Windows CI failure. A plain File.WriteAllText is safe here: FileShare.Read makes the OS serialize conflicting writers, so a losing writer's open fails before touching the file. The marker is advisory bookkeeping, and CachePurge.cs already tolerates malformed content per entry. Assisted-by: Claude:claude-sonnet-5 (GitHub Copilot CLI) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
sbomer
force-pushed
the
sbomer/illink-ci-cache
branch
from
October 5, 2026 21:35
22842f2 to
a59ddf6
Compare
Keep purge usable if a best-effort last-used refresh leaves an invalid marker. Report the fallback while preserving errors for actual maintenance failures. Assisted-by: GitHub Copilot CLI:gpt-6-sol Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
sbomer
force-pushed
the
sbomer/illink-ci-cache
branch
from
October 6, 2026 21:49
a59ddf6 to
948a922
Compare
sbomer
removed request for
BrzVlad,
MichalStrehovsky,
kotlarmilos,
lateralusX,
maraf,
mdh1418,
noahfalk and
vitek-karas
October 19, 2026 18:42
Update the lower stack layer before propagating main to the dependent CI cache PR. Assisted-by: Copilot:gpt-6.1-sol Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
Preserve both Roslyn and ILLink final-job purge hooks after updating the stack bottom-up from main. Assisted-by: Copilot:gpt-6.1-sol Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
agocke
reviewed
Oct 19, 2026
agocke
reviewed
Oct 19, 2026
Assisted-by: Copilot:gpt-6.1-sol Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
Assisted-by: Copilot:gpt-6.1-sol Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 561d1c87-e14b-46f8-be7f-a08f544ec537
agocke
reviewed
Oct 20, 2026
Member
Author
|
/ba-g "Unrelated failures: #136096" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable experimental ILLink task caching in the Linux x64, Windows x64, and macOS arm64 CoreLib/libraries jobs. Restore a job-private cache from Azure Pipelines, with snapshots separated by platform and configuration. After all build and post-build steps finish, purge entries unused by the current build before saving the next snapshot.
In CI build 1642482, linker cache hits were 254/255 on Linux and macOS (99.6%) and 252/255 on Windows (98.8%). Restore, reuse, purge, and snapshot saving succeeded on all three platforms.