Skip to content

Add releases-index, releases.md, and verify releases tools#28

Merged
richlander merged 1 commit intomainfrom
add-releases-tools
Mar 26, 2026
Merged

Add releases-index, releases.md, and verify releases tools#28
richlander merged 1 commit intomainfrom
add-releases-tools

Conversation

@richlander
Copy link
Copy Markdown
Owner

Three new commands for the dotnet-release CLI:

generate releases-index [path]

Generates releases-index.json from per-version releases.json files. Discovers versions by scanning directories and writes the index using Utf8JsonWriter for precise output control (avoids AOT issues with nullable/default fields).

generate releases [path]

Generates releases.md from per-version releases.json files using a Markout template with supported and EOL release tables.

verify releases [version] [path] [--skip-hash]

Validates the latest patch release of each supported version:

  • URL liveness — HTTP HEAD checks for all download URLs (16 concurrent)
  • SHA512 hash verification — full file download + hash comparison (4 concurrent, skippable with --skip-hash)
  • CDN latest.version — cross-validates dotnet-install.sh version files against releases.json
  • aka.ms redirects — verifies redirects from both ComponentFile.akams fields and downloads/*.json evergreen links match the concrete URLs in releases.json

Optional version filter: channel (10.0) or specific patch (10.0.5). Exit code 0 = clean, 2 = issues found (markdown report on stdout).

Companion skill PR: dotnet/core#10325

Three new commands for the dotnet-release CLI:

generate releases-index [path]
  Generates releases-index.json from per-version releases.json files.
  Discovers versions by scanning directories, reads each releases.json,
  and writes the index using Utf8JsonWriter for precise output control.

generate releases [path]
  Generates releases.md from per-version releases.json files using a
  Markout template with supported/EOL release tables.

verify releases [version] [path] [--skip-hash]
  Validates the latest patch release of each supported version:
  - HTTP HEAD checks for all download URLs (16 concurrent)
  - SHA512 hash verification (4 concurrent, skippable)
  - CDN latest.version file cross-validation against releases.json
  - aka.ms redirect verification from ComponentFile.akams and
    downloads/*.json evergreen links
  Optional version filter: channel (10.0) or patch (10.0.5).
  Exit code 0 = clean, 2 = issues found (markdown report on stdout).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@richlander richlander merged commit 3ad307b into main Mar 26, 2026
8 checks passed
@richlander richlander deleted the add-releases-tools branch March 26, 2026 06:07
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

Successfully merging this pull request may close these issues.

1 participant