Add dotnetup preview release-strategy-plan.md#54735
Open
nagilson wants to merge 15 commits into
Open
Conversation
This is a draft. Resolves dotnet#54689
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
or that it might not be the right choice for our product/org even if its the convenient / right choice for our team
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
| 3. **Change which `/daily/` build `/preview/` points at via an explicit process** | ||
| Implement a `release` pipeline that lets an operator select a set of dotnetup release artifacts from a prior daily pipeline run. | ||
| 4. **The release pipeline:** | ||
| - Bumps the patch version by 1 off of the last tagged preview patch version using global `msbuild` parameters. Coordinate to push a PR via maestro or via actions that bumps the version in the real branch. Produce the preview versioned dotnetup `tag`. |
Member
Author
There was a problem hiding this comment.
I recognize this happens via a vendor in the SDK and we could utilize that strategy instead of trying to be fancy. It does make me very sad we need PRs to bump the patch number.
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
- Appendix A: Empirical HTTP probes show no TTL-based deletion on ci.dot.net/dotnetbuilds; 404s are from promotion-cleanup only. Non-promoted builds (like dotnetup) persist 4+ years. No retention policy documented in arcade or dnceng. - Appendix B: Document 5 teams with automated GitHub Releases (aspire, dotnet-monitor, android-native-tools, cli/cli, mcp). List compliance requirements and recommend dotnet-monitor pattern (gh release create + ManualValidation@1) as simplest for Phase 1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
this might be helpful for an agent to plan but it is not helpful as documentation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a design document under documentation/general/dotnetup/designs/ describing a proposed preview release strategy for dotnetup, motivated by the need to decouple SDK branch stability from the dotnetup daily build while still enabling rollback and historical acquisition.
Changes:
- Introduces a phased plan for
dotnetupchannel/version/release promotion (daily→ blessedpreview→ eventualstable). - Documents requirements/assumptions and compares approaches used by other tooling (e.g., Aspire).
- Adds appendices summarizing retention observations for
ci.dot.net/dotnetbuildsand precedent for automated GitHub Releases compliance.
| @@ -0,0 +1,294 @@ | |||
| # dotnetup `Preview` Release Strategy | |||
|
|
|||
| `dotnetup` ships today as a small internal preview built daily from the tip of the internal CI pipeline. SDK `main` consumes that daily build. | |||
| - `stable` needs to scale beyond `ci.dot.net`; `preview` may not (external customers should not build production CI on top of a preview product). | ||
| - GitHub Releases may provide scalable / CDN-like downloads (works for dotnet diagnostics). | ||
| - `aka.ms` has no Azure Front Door / `x-cache` / Akamai layer of its own. It is a Kestrel app serving a `301` redirect, which is sufficient for `preview` and `daily`. | ||
| - `ci.dot.net` per-version build URLs persist long enough for `dotnetup` rollback needs. See [Retention investigation](#retention-investigation-dotnetbuildscinotnet) below. |
| `https://ci.dot.net/public/dotnetup/0.1.4-preview.4.26303.1/dotnetup-win-x64.exe` and its | ||
| `.../public-checksums/dotnetup/0.1.4-preview.4.26303.1/dotnetup-win-x64.exe.sha512` sidecar. | ||
| **Open (low risk):** No formal retention/TTL policy is documented for `dotnetbuilds` blobs — see | ||
| [Retention investigation](#retention-investigation-dotnetbuildscinotnet). Empirical evidence shows |
Comment on lines
+73
to
+74
| - dotnetup's Arcade channel, with `targetFeeds: DotNetToolsFeeds`) publishes installers/checksums to `dotnetbuilds/public` and | ||
| `dotnetbuilds/public-checksums`. i.e. we are **already in staging**. |
Comment on lines
+99
to
+103
| | Channel | Version shape | Meaning | | ||
| |----------|---------------|---------| | ||
| | daily | `0.x.y` | Moving, as-is, built from active development tip. No stability promise. | | ||
| | preview | `0.x.y` | Blessed internal preview. The latest supported version. | | ||
| | stable | `1.0.0` | Public, CDN-scaled release (future). | |
nagilson
commented
Jun 12, 2026
nagilson
commented
Jun 12, 2026
|
|
||
| Linux Package Manager Feed / WinGet / Homebrew / etc. Needs discussion with partners. | ||
|
|
||
| ### Phase 4 — Inclusion in the .NET SDK (unplanned at this time) |
Member
Author
There was a problem hiding this comment.
It might be better to remove this because I don't want to get pigeonholed into this whole other discussion topic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This document provides a plan to address the following:
dotnetupdotnetuprollouts with a focus on thepreviewphasePlease consider giving broad feedback or feedback about my 'requirements' and 'assumptions' to see whether this is a solid foundational idea or not before we get into more specifics.
Resolves #54689