Skip to content

Poisoning support for shared components #1613

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

Merged
merged 11 commits into from
Jul 28, 2025

Conversation

mthalman
Copy link
Member

@mthalman mthalman commented Jul 24, 2025

Fixes #1112

This adds source build poisoning support for multi-band SDK scenarios in the VMR. In this scenario, runtime-related packages that are provided as input to a non-1xx branch via a shared components tarball are considered to be acceptable for redistribution by the SDK produced from that branch. That is, of course, the whole intention of providing these packages because they are part of the working product. However, the tooling-related packages that comes from the shared components tarball are not considered acceptable to redistribute because the non-1xx branch is the one that is producing the new tooling-related packages. This means that runtime-related packages are not marked for poisoning but the tooling-related packages are.

Notes on the changes:

  • Added extra poisoning checks which validates that at least one package exists to be poisoned from both the previously source built artifacts and the shared component packages.
  • Refactored UpdateNuGetConfigPackageSourcesMappings so that it can handle an arbitrary number of "fallback" inputs (prebuilts, previously source built, shared components).
  • Created a new GetFilteredSharedComponentPackages target that can filter the packages from the shared components according to whether they come from runtime- or tooling-related repos. This is shared by both repo-projects (for build input props generation) and poisoning. This is defined in VmrCommon.targets.

@mthalman mthalman merged commit 113d6c5 into dotnet:main Jul 28, 2025
10 checks passed
@mthalman mthalman deleted the issue1112-poisoning branch July 28, 2025 12:31
mthalman added a commit to mthalman/dotnet that referenced this pull request Jul 29, 2025
mthalman added a commit to mthalman/dotnet that referenced this pull request Jul 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[feature bands] Poison leak detection
4 participants