-
Notifications
You must be signed in to change notification settings - Fork 515
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
✨ Support Nuget Central Package Management #4369
✨ Support Nuget Central Package Management #4369
Conversation
Co-authored-by: Liam Moat <contact@liammoat.com> Co-authored-by: Ioana A <Ioana37@users.noreply.github.com> Co-authored-by: Mélanie Guittet <meguittet@users.noreply.github.com> Signed-off-by: balteravishay <avishay.balter@gmail.com>
I seem to remember listing specific versions was considered pinned due to some immutable property of the nuget package manager? (Similar to how the Go ecosystem has a checksum database?) Is there a good link for that? I found https://devblogs.microsoft.com/nuget/nuget-package-signing/, but it seems to be a few years old, and didn't know what the default policy of the tool was these days. |
@jeffkl could you advise on this PR on supporting CPM in this project? 😄 |
hey @spencerschrock, thanks for your feedback! any other questions about CPM or can we start the review of this PR? |
Yep my questions are answered (thanks everyone), I'll get started on the review when I get some time. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4369 +/- ##
==========================================
+ Coverage 66.80% 68.63% +1.82%
==========================================
Files 230 242 +12
Lines 16602 18031 +1429
==========================================
+ Hits 11091 12375 +1284
- Misses 4808 4848 +40
- Partials 703 808 +105 |
/scdiff generate Pinned-Dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks all!
(ignore any unit test failures when I update/merge, we had a slight flake introduced in a previous PR that should be fixed soon)
What kind of change does this PR introduce?
Support nuget central package management in detecting pinned dependencies
What is the current behavior?
Today, scorecard only supported nuget pinning dependencies with lockfiles. However, nuget provides package-manager-level assurance that when enabling CPM AND declaring specific versions for all direct dependencies the same level of pinning is provided to the end-user.
What is the new behavior (if this is a feature change)?**
Scorecard will check if Directory.*.props file is present and both:
a. ManagePackageVersionsCentrally attribute is set to true
b. all direct dependencies have a specific version declared
if both are true, all unpinned dependencies will be marked as pinned.
Which issue(s) this PR fixes
Fixes #4252
Special notes for your reviewer
This was discussed in a community call with @spencerschrock and it continues the work that was started in PR #4351
Here is a repo that would be found as pinned by this new checks: foesmm/WolvenKit since it has a github workflow with dotnet restore (without lockfile flag) but declares CPM and all dependencies are pinned to specific versions in the properties file
Does this PR introduce a user-facing change?
-->