Skip to content

Conversation

@NikolaMilosavljevic
Copy link
Member

@NikolaMilosavljevic NikolaMilosavljevic commented May 3, 2023

Fixes: #16319

### Summary of the changes

The goal is to enable per-repo source-build to detect prebuilt packages.

Currently, all prebuilts are excluded due to known issues called out in comments.

@mthalman
Copy link
Member

mthalman commented May 4, 2023

Shouldn't this be fixing #16319, not microsoft/vstest#4405?

<UsagePattern IdentityGlob="System.Security.Cryptography.Cng/5.0.0-preview.3.20214.6" />
<UsagePattern IdentityGlob="System.Security.Cryptography.Pkcs/5.0.0-preview.3.20214.6" />

<!-- These are coming in via runtime but the source-build infra isn't able to automatically pick up the right intermediate. -->
Copy link
Member

Choose a reason for hiding this comment

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

Is there an issue for this that can be referenced?

Copy link
Member Author

Choose a reason for hiding this comment

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

Is there an issue for this that can be referenced?

I'm not sure - I copied the comment from this PR by @mmitche - dotnet/aspnetcore#47894

<UsagePattern IdentityGlob="System.Security.Cryptography.Cng/5.0.0-preview.3.20214.6" />
<UsagePattern IdentityGlob="System.Security.Cryptography.Pkcs/5.0.0-preview.3.20214.6" />

<!-- These are coming in via runtime but the source-build infra isn't able to automatically pick up the right intermediate. -->
Copy link
Member

Choose a reason for hiding this comment

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

Would these be resolved if the runtime intermediate was pulled in? I see the runtime dependency is using the SourceBuildTarball metadata instead of SourceBuild. The tarball attribute doesn't pull down the intermediate during the repo SB legs. It was a temporary attribute for use when a repo didn't produce an intermediate. dotnet/source-build#3351 tracks removing all usages.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah - updating - only one remains, that is also present in this PR: dotnet/aspnetcore#47894

Once that's fixed, NuGet package version should be updated to newest, and intermediate product dependency
added to Version.Details.xml
-->
<UsagePattern IdentityGlob="NuGet.Common/*5.8.0*" />
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

FYI, SDK uses a NuGet.* pattern - https://github.com/dotnet/sdk/blob/main/eng/SourceBuildPrebuiltBaseline.xml#L6

I see - I used aspnetcore implementation as a model: https://github.com/dotnet/aspnetcore/blob/28602638d11f01a0e20a3d0a0aa1f3a9a84406d6/eng/SourceBuildPrebuiltBaseline.xml#L6-L10

Both options have their pros and cons - if we should adopt a single model, this PR should follow it.

Copy link
Member

Choose a reason for hiding this comment

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

Agreed both patterns have their pros and cons. It's not a big deal as this is temporary until the nuget intermediate is produced.

@NikolaMilosavljevic NikolaMilosavljevic merged commit 1ebed15 into dotnet:main May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable source-build pre-built detection

3 participants