dotnet / install-scripts

MIT License
128 stars 68 forks source link

Rethink distribution mechanisms for known public releases #463

Open YuliiaKovalova opened 2 months ago

YuliiaKovalova commented 2 months ago

This tool has two primary usage modes:

For both cases we construct a URL with a particular layout based on the request parameters, and this URL redirects to a location with the binaries to download. The location we've stored these binaries has a few known issues, specifically for users with certain network configurations.

I propose that for the first use case, "download the latest 8.0 SDK for the Linux platform, x64 architecture", we should download the binaries from the .NET Release Manifest that the release team publishes for each monthly release.

These manifests support

{
            "channel-version": "8.0",
            "latest-release": "8.0.4",
            "latest-release-date": "2024-04-09",
            "security": true,
            "latest-runtime": "8.0.4",
            "latest-sdk": "8.0.204",
            "product": ".NET",
            "release-type" : "lts",
            "support-phase": "active",
            "eol-date": "2026-11-10",
            "releases.json": "https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/8.0/releases.json"
}

image

Here we can see clearly that we can find the list of assets by filtering on the desired .NET RID. Once we have that release we can easily get

We should only use this file when