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

Provide stable links table #9701

Open
richlander opened this issue Jan 16, 2025 · 0 comments
Open

Provide stable links table #9701

richlander opened this issue Jan 16, 2025 · 0 comments

Comments

@richlander
Copy link
Member

We provide really nice links tables for nightly builds. It's a single table that is always correct. We should have the same thing for official builds.

There are two aspects at play here:

  • A single table
  • The short link targets are updated regularly so that link users don't need to worry about updating links for servicing.

This isn't quite the same thing as: https://dotnet.microsoft.com/download/dotnet/8.0. That page has multiple tables and requires the user to grab new links monthly.

Here's a proposed JSON file that is intended as the source for the table: https://gist.github.com/richlander/5cdc268b7b1ab8fc952791d489370463. It should live at: https://builds.dotnet.microsoft.com/dotnet/8.0/evergreen.json. We'd also have a short-link for this file, like https://aka.ms/dotnet/8.0/evergreen.json. The table would live at https://github.com/dotnet/core/tree/main/release-notes/8.0/evergreen.md. I'm not sure what the file should be called, not likely evergreen.blah. I don't want to call it release.json since we already have a file called that w/a slightly different schema and with different link expectations. I'm open to suggestions.

Example build information from the proposed JSON file:

{
  "name": "dotnet-runtime-linux-arm.tar.gz",
  "rid": "linux-arm",
  "url": "https://aka.ms/dotnet/8.0/dotnet-runtime-linux-arm.tar.gz"
}

This link already exists.

$ curl -s --head https://aka.ms/dotnet/8.0/dotnet-runtime-linux-arm.tar.gz | findstr Location
Location: https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.12/dotnet-runtime-8.0.12-linux-arm.tar.gz

The JSON is directly modeled on https://github.com/dotnet/core/blob/main/release-notes/8.0/8.0.12/release.json.

Close readers will notice that the hash from the 8.0.12 file is missing in the proposal.

{
  "name": "dotnet-runtime-linux-arm.tar.gz",
  "rid": "linux-arm",
  "url": "https://download.visualstudio.microsoft.com/download/pr/a50c2f56-3ee5-4387-a9a7-4338b75fb5c9/41676fb7ec43d9108a65fc0d76c15717/dotnet-runtime-8.0.12-linux-arm.tar.gz",
  "hash": "0b8e3c37f205cf965afbd7096afd5fc6e202248b3e3c174712e1bcf34b6b64ab7b0ef866eeb6e16a114367e35666dacb52eb0ba10dde8b3143314a051eb1a1d0"
}

The proposed JSON file should be updated to look like:

{
  "name": "dotnet-runtime-linux-arm.tar.gz",
  "rid": "linux-arm",
  "url": "https://aka.ms/dotnet/8.0/dotnet-runtime-linux-arm.tar.gz"
  "hashUrl": "https://aka.ms/dotnet/8.0/dotnet-runtime-linux-arm.tar.gz.sha512"
}

The proposed JSON only includes links that exist/work. The checksum link doesn't currently exist, but should.

Related:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant