Skip to content

Opt-in TargetRid publish mode #15549

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 2 commits into from
Feb 24, 2025

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Feb 18, 2025

To enable us to fully dedup our vertical asset manifests in the VMR, we need some mechanism to specify that RID-agnostic packages shouldn't be published in particular verticals.

One options would be to have the VMR automatically use "Vertical" visibility as the default for all non-"Win-x64 BuildPass1" legs and require repos that have RID-specific assets to mark them with the correct visibility. In this model, every repo that has RID specific assets would have to have almost the same logic in Publishing.props.

Another option (this PR) is to add support into Arcade for a switch to automatically only add RID-specific packages as non-Vertical packages by default. This model ensures that we don't need to change every repo that produces RID-specific artifacts. It also provides a mechanism to opt-in for repositories that need to publish in this manner normally (useful for dotnet/runtime for the short period between the MicroBuild fixes and the official build being shut off).

To double check:

Contributes to dotnet/source-build#4905

To enable us to fully dedup our vertical asset manifests in the VMR, we need some mechanism to specify that RID-agnostic packages shouldn't be published in particular verticals.

One options would be to have the VMR automatically use "Vertical" visibility as the default for all non-"Win-x64 BuildPass1" legs and require repos that have RID-specific assets to mark them with the correct visibility. In this model, every repo that has RID specific assets would have to have almost the same logic in Publishing.props.

Another option (this PR) is to add support into Arcade for a switch to automatically only add RID-specific packages as non-Vertical packages by default. This model ensures that we don't need to change every repo that produces RID-specific artifacts. It also provides a mechanism to opt-in for repositories that need to publish in this manner normally (useful for dotnet/runtime for the short period between the MicroBuild fixes and the official build being shut off).
akoeplinger
akoeplinger previously approved these changes Feb 20, 2025
@jkoritzinsky jkoritzinsky merged commit ec14c7a into dotnet:main Feb 24, 2025
11 checks passed
@jkoritzinsky jkoritzinsky deleted the rid-specific-publish branch February 24, 2025 19:22
ViktorHofer added a commit that referenced this pull request Feb 25, 2025
Regressed with #15549

MSBuild doesn't allow Condition attributes on Choose elements.
YuliiaKovalova pushed a commit that referenced this pull request Mar 20, 2025
@ViktorHofer
Copy link
Member

ViktorHofer commented Mar 30, 2025

This opt-in is now used in the VMR but most repos don't have access to the TargetArchitecture property. An example where this causes an issue is dotnet/sdk#47950. I'm fixing that just for dotnet/sdk with dotnet/sdk#47977.

But other repositories might hit this as well in the future when RID specific packages get added that we don't account for today. I think we should pass that property in globally to all repositories. dotnet/source-build#4313 tracks that.

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.

3 participants