dotnet-public mirror has all packages as listed despite the fact that they're unlisted on nuget.org
- Dominant language
- C#
- Stars
- 729
- Forks
- 397
- Avg merge
- 3d 15m
- Merged PRs (30d)
- 149
Description
https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json is supposed to be faithful mirror of https://api.nuget.org/v3/index.json, but only packages used within our builds.
Take NuGet.Commands for example.
https://www.nuget.org/packages/NuGet.Commands
NuGet.org - https://api.nuget.org/v3/registration5-gz-semver2/nuget.commands/index.json. Many packages exist, some such as 3.2.0 are unlisted.
dotnet-public - https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/registrations2-semver2/nuget.commands/index.json - Every single package version is listed.
I imagine there's 2 challenges here.
1. Mirroring new packages. When the packages are mirrored and all their versions, their listedness is not perfectly matched.
2. Maintaining the listed status to match nuget.org. This is much costlier and I'd argue less important.
This discrepancy can lead to confusion about which exact versions to use.
Inspired by https://developercommunity.visualstudio.com/t/Nuget-Package-change-from-date-based-Ver/11139012
Contributor guide
Research direction
Start by comparing the NuGet.org and dotnet-public registration endpoints shown in the issue, using NuGet.Commands and an unlisted version such as 3.2.0. Determine whether the intended scope is preserving listed status during mirroring or also synchronizing later status changes; the work is done when the agreed scope is reflected accurately without exposing unlisted versions as listed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100