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

Validate current package versions against previously source built package versions #4187

Closed
mthalman opened this issue Mar 6, 2024 · 1 comment
Labels
area-infra Source-build infrastructure and reporting untriaged

Comments

@mthalman
Copy link
Member

mthalman commented Mar 6, 2024

A recent issue was investigated that was caused by the output package versions being the same between the VMR's output and the previously source built artifacts. Because the package versions were the same, NuGet has nondeterminism as to which package will be used. Due to differences in the PVP input between the two sets of packages, the packages ended up having dependencies on different versions. This eventually led to a package downgrade error in a consuming repo. It took a long time to investigate and diagnose this issue.

In order to avoid these kinds of investigations, it would be better to have validation that would clear point to this issue. If the output package version of a repo's build in the VMR matches the version that exists in previously source built artifacts, then that's a potential problem.
 
Even for the same commit, there is no guarantee that the packages produced by a repo would produce the same content compared to what is contained in the previously source built packages. This is specifically the case when it comes to cross-repo package dependencies.

It's possible that the build would just work despite a version conflict. But it's also possible it wouldn't. But in either case, the behavior is nondeterministic so shouldn't be considered valid.

@dotnet-issue-labeler dotnet-issue-labeler bot added area-infra Source-build infrastructure and reporting untriaged labels Mar 6, 2024
@MichaelSimons
Copy link
Member

Closing as duplicate of #4206 which will eliminate the non-determinism.

@MichaelSimons MichaelSimons closed this as not planned Won't fix, can't repro, duplicate, stale Mar 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infra Source-build infrastructure and reporting untriaged
Projects
Archived in project
Development

No branches or pull requests

2 participants