dotnet / dotnet/arcade

dotnet-public mirror has all packages as listed despite the fact that they're unlisted on nuget.org

Open
#17,414 6 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.