Skip to content
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

Package testing skips Microsoft.Windows.Compatibility #27503

Closed
ericstj opened this issue Sep 28, 2018 · 14 comments · Fixed by dotnet/arcade#7645
Closed

Package testing skips Microsoft.Windows.Compatibility #27503

ericstj opened this issue Sep 28, 2018 · 14 comments · Fixed by dotnet/arcade#7645
Labels
area-Infrastructure-libraries packaging Related to packaging test-bug Problem in test source code (most likely)
Milestone

Comments

@ericstj
Copy link
Member

ericstj commented Sep 28, 2018

This is done because the package report doesn't list any supported frameworks.

That's because package reports only consider files and not dependencies. We should update the package reports to also consider dependencies (in the absence of files) to mirror the NuGet algo.

@ericstj
Copy link
Member Author

ericstj commented Sep 28, 2018

As a result of this bug we missed this problem:

error NU1603: Microsoft.Windows.Compatibility 2.1.0-preview1-26928-03 depends on System.Data.SqlClient (>= 4.6.0-preview1-26928-03) but System.Data.SqlClient 4.6.0-preview1-26928-03 was not found. An approximate best match of System.Data.SqlClient 4.6.0-preview2-26905-02 was resolved.

Related: https://github.com/dotnet/corefx/issues/32391

@safern
Copy link
Member

safern commented Sep 28, 2018

From the date of the package version it seems it is depending on a live version of the package. Was SqlClient package deleted or something?

@ericstj
Copy link
Member Author

ericstj commented Sep 28, 2018

It was bumped to 4.7.0

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@maryamariyan maryamariyan added the untriaged New issue has not been triaged by the area owner label Feb 23, 2020
@ericstj ericstj removed the untriaged New issue has not been triaged by the area owner label Apr 1, 2020
@ericstj ericstj modified the milestones: Future, 5.0 Apr 1, 2020
@ericstj
Copy link
Member Author

ericstj commented Apr 1, 2020

Let's see what we can do to make sure this gets tested. @joperezr we also may be missing updating the version of this in our index when a new one ships in servicing. I wonder if we need to expand the logic for index updates to account for dependencies in addition to harvesting.

@joperezr
Copy link
Member

joperezr commented Apr 2, 2020

We could do that. If we make it so that every package (not only the ones that have dlls on them) has an entry on the package index, then we can call our task to update all stable versions listed in NuGet for all of the package index so that would cover these cases. Alternatively, we could also do what you suggest and expand the logic so that it also does it for dependencies.

@ViktorHofer
Copy link
Member

Triage: keep this in 5.0 and at least manually test the meta-package.

@safern
Copy link
Member

safern commented Sep 2, 2020

Getting to this today or tomorrow.

@safern
Copy link
Member

safern commented Sep 4, 2020

I just did this validation locally. Published it for different RIDs and ran VerifyClosure in it and everything looks good.

Also looked at the set of dependencies and everything looks reasonable. So I'm going to remove blocking-release and move to 6.0.0 to complete the infrastructure work.

@ViktorHofer
Copy link
Member

@Anipik @ericstj do you think this will "just work" when migrating the Compatibility pkgproj to a csproj (and use ProjectReferences)?

@ericstj
Copy link
Member Author

ericstj commented Jun 21, 2021

Conversion to CSProj won't help. The Csproj tooling is meant to test the contents of the package for API compat. The main thing we want to test for this is the validity of the package. For that it should leverage the package-testing we do after pack where we generate projects and restore them. That could be made to work today, but it needs a change here to also consider dependency groups in the nuspec: https://github.com/dotnet/arcade/blob/28a6403ee97077256fcdc60f599f0ad9e38e3cfa/src/Microsoft.DotNet.PackageTesting/GetCompatiblePackageTargetFrameworks.cs#L37

@ViktorHofer
Copy link
Member

But the migration to csprojs would have caught other issues like just the recent one where the Compatibility pack tried to restore a dead-ended package, right?

@ericstj
Copy link
Member Author

ericstj commented Jun 22, 2021

It may, but we should still test it in package testing. That’s what this issue is meant to track.

@ViktorHofer
Copy link
Member

Sure, absolutely. @safern as you are assigned, are you currently working on this or have a branch somewhere that we can pick up?

@safern
Copy link
Member

safern commented Jun 22, 2021

Nope, I never got a chance to look into this. And definitely with the API Compat work, don't have bandwidth to pick it up. I will remove my assignment.

@safern safern removed their assignment Jun 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-libraries packaging Related to packaging test-bug Problem in test source code (most likely)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants