Skip to content

ADR: Release-branch model & multi-channel CD #277

Closed

Description

@ChrisonSimtian

Sibling of milestone #13. RFC #267.

What

Write the Architecture Decision Record capturing the release-branch + multi-channel CD decision, the alternatives considered, and the reasoning. Lives under docs/adr/ (create the directory if it doesn't exist; this may be the first ADR).

Acceptance criteria

  • docs/adr/0001-release-branch-model.md (or numbered per existing convention if there is one) exists.
  • Sections: Status, Context, Decision, Consequences, Alternatives considered, References.
  • Context explains the trigger: auto-release on every main merge was generating ≈20 patch versions in recent days and Dependabot fatigue across the userbase.
  • Decision matches what landed:
    • main = integration trunk, doesn't auto-publish.
    • release/vN = release channel, tag-triggered.
    • Hotfixes via cherry-pick from main.
    • Three GitHub Environments keyed by channel (nuget-org/github-packages/github-releases), with nuget-org gated by approval.
  • Alternatives considered captures: keep main-triggered + reduce noise via path filters; release-per-merge to release/vN; manual-only via workflow_dispatch as the permanent shape.
  • Consequences notes: more deliberate cadence; cherry-pick mental overhead; old majors stay supportable; the consumer-pain-first principle this validates (see memory note).
  • References link RFC RFC: Release-branch model & multi-channel CD (tag-triggered, GitHub Environments) #267, milestone chore(ci): roll-up of #10, #11, #12 into develop #13, and the sibling implementation issues.
  • Status: Accepted once the implementation ships; Proposed until then.

Depends on

  • Implementation shipped (so the ADR describes reality, not aspiration).

Notes

If docs/adr/ doesn't exist, this is the seed for it. Worth setting the pattern now — future architectural decisions get ADRs filed under the same directory using the MADR format (or whatever Chris prefers).

Activity

  1. ChrisonSimtian commented on May 29, 2026

    @ChrisonSimtian
    CollaboratorAuthor

    Done — landed in PR #295 (merged 2026-05-29T07:26:34Z). ADR lives at docs/adr/0001-release-branch-model.md. Status: Accepted. Seeds the docs/adr/ directory for future architectural decisions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ADRArchitecture Decision RecorddocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions