Skip to content

Add dotnetup preview release-strategy-plan.md#54735

Open
nagilson wants to merge 21 commits into
dotnet:release/dnupfrom
nagilson:nagilson-dotnetup-release-cycle
Open

Add dotnetup preview release-strategy-plan.md#54735
nagilson wants to merge 21 commits into
dotnet:release/dnupfrom
nagilson:nagilson-dotnetup-release-cycle

Conversation

@nagilson

@nagilson nagilson commented Jun 12, 2026

Copy link
Copy Markdown
Member

This document provides a plan to address the following:

  • Versioning strategy for internal/public preview of dotnetup
  • Release and devops strategy for dotnetup rollouts with a focus on the preview phase

Please 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

Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md
or that it might not be the right choice for our product/org even if its the convenient /  right  choice for our team
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
nagilson and others added 3 commits June 12, 2026 16:06
- 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>
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
@nagilson
nagilson marked this pull request as ready for review June 12, 2026 23:48
Copilot AI review requested due to automatic review settings June 12, 2026 23:48
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
this might be helpful for an agent to plan but it is not helpful as documentation

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 dotnetup channel/version/release promotion (daily → blessed preview → eventual stable).
  • Documents requirements/assumptions and compares approaches used by other tooling (e.g., Aspire).
  • Adds appendices summarizing retention observations for ci.dot.net/dotnetbuilds and precedent for automated GitHub Releases compliance.

Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated
Comment thread documentation/general/dotnetup/designs/dotnetup-release-strategy.md Outdated

### Decisions: preview / phase 1

**Must have**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know where this should go in terms of priority but I think a requirement is having a good UX around how to report issues. Nothing is more frustrating than getting a new version of a component and discover a crash and then not know where/how to report the issue.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with you there, and it'd be nice if there was a 'report an issue' function that also auto-injected the build/version of dotnetup, although I'm not sure if this is the right document to include this.

I think this is adjacent but it'd be more clear to put this in a 'bug/triage' type of plan document than here, but for now I'll briefly mention it.

@nagilson
nagilson requested a review from a team June 17, 2026 17:21
nagilson added 3 commits June 17, 2026 10:42
…ase of recovery

15 minutes : decided based on the time it generally takes to currently run tests in ci and to minimize impact. Somewhat arbitrary. We might not run tests in some cases.
@nagilson
nagilson requested review from a team and removed request for a team June 23, 2026 16:08

@nagilson nagilson left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes needed:

Show that we can repromote a build and that is how arcade supports the release. There is no reasonable way currently to 'swap' the aka url owned by arcade and we can't own their secrets.

Also include how we will manage runtime updates since we are self contained.

Also need to include that the install scripts themselves are shipped and need the versioning schema.

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.

3 participants