Skip to content

Document branching and release strategy#215

Merged
nick-pape merged 3 commits intoSharePoint:mainfrom
nick-pape:nick-pape/branching-strategy-docs
Apr 2, 2026
Merged

Document branching and release strategy#215
nick-pape merged 3 commits intoSharePoint:mainfrom
nick-pape:nick-pape/branching-strategy-docs

Conversation

@nick-pape
Copy link
Copy Markdown
Contributor

Description

Adds documentation for the branch-per-SPFx-version strategy as described in the architecture doc. This covers:

  • Branch naming conventionmain for latest stable, release/X.Y.Z for GA, release/X.Y.Z-beta.N / release/X.Y.Z-rc.N for pre-releases
  • CLI version resolution — default to main, --spfx-version maps to release/{version}
  • Release branch lifecycle — how and when to create release branches
  • Hotfix/cherry-pick workflow — fix on main first, cherry-pick to affected branches
  • Branch protection — required PR reviews and CI checks

Also links the new doc from CONTRIBUTING.md.

Closes #102

How was this tested

  • Reviewed against the existing architecture doc (common/docs/spfx-cli-architecture.md) and PublicGitHubRepositorySource implementation for accuracy

Type of change

  • Documentation or CI change

Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md
nick-pape and others added 2 commits March 31, 2026 18:06
Add common/docs/branching-and-release-strategy.md covering branch naming
conventions, CLI version resolution, release branch lifecycle, and the
hotfix cherry-pick workflow. Link from CONTRIBUTING.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix branch prefix: release/ → version/ (matches actual code)
- Fix default branch: main → version/latest (matches PublicGitHubRepositorySource)
- Fix flag name: --local-template → --local-source (matches SPFxActionBase)
- Remove "planned" label from --spfx-version (already implemented)
- Add version/latest-beta branch documentation
- Add rolling branch section explaining version/latest and version/latest-beta
- Describe main as development branch, not latest stable

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@nick-pape nick-pape force-pushed the nick-pape/branching-strategy-docs branch from 28d19ed to d17f2a5 Compare March 31, 2026 23:30
@nick-pape nick-pape marked this pull request as ready for review April 1, 2026 19:20
Copilot AI review requested due to automatic review settings April 1, 2026 19:20
@nick-pape nick-pape enabled auto-merge (squash) April 1, 2026 19:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds contributor-facing documentation for the repo’s branch-per-SPFx-version strategy and links it from the main contributing guide, clarifying how the CLI resolves template branches and how hotfixes should be applied across release branches.

Changes:

  • Add common/docs/branching-and-release-strategy.md describing branch naming, CLI ref resolution, release lifecycle, and hotfix/cherry-pick workflow
  • Link the new branching doc from CONTRIBUTING.md

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
CONTRIBUTING.md Adds a link to the new branching/release strategy documentation.
common/docs/branching-and-release-strategy.md New doc explaining version/* branches, CLI resolution behavior, and maintenance workflows.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread common/docs/branching-and-release-strategy.md
Comment thread common/docs/branching-and-release-strategy.md
Comment thread common/docs/branching-and-release-strategy.md
Comment thread common/docs/branching-and-release-strategy.md
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md Outdated
Comment thread common/docs/branching-and-release-strategy.md
… clarify protections

- Rename version/latest-beta to version/next (RC isn't a "beta")
- Switch from per-patch (version/X.Y.Z) to per-minor (version/X.Y) branches
- Use tags for individual pre-release versions instead of branches
- Note that branch rulesets for main also apply to version/* branches
- Update branch protection section to reflect auto-configuration
- Add conversation resolution to branch protection rules
- Clarify that dependency bumps are not backported to old branches

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread common/docs/branching-and-release-strategy.md
@nick-pape nick-pape merged commit 04754ac into SharePoint:main Apr 2, 2026
4 checks passed
iclanton pushed a commit to iclanton/spfx that referenced this pull request Apr 2, 2026
## Description

Adds documentation for the branch-per-SPFx-version strategy as described
in the architecture doc. This covers:

- **Branch naming convention** — `main` for latest stable,
`release/X.Y.Z` for GA, `release/X.Y.Z-beta.N` / `release/X.Y.Z-rc.N`
for pre-releases
- **CLI version resolution** — default to `main`, `--spfx-version` maps
to `release/{version}`
- **Release branch lifecycle** — how and when to create release branches
- **Hotfix/cherry-pick workflow** — fix on `main` first, cherry-pick to
affected branches
- **Branch protection** — required PR reviews and CI checks

Also links the new doc from `CONTRIBUTING.md`.

Closes SharePoint#102

## How was this tested

- Reviewed against the existing architecture doc
(`common/docs/spfx-cli-architecture.md`) and
`PublicGitHubRepositorySource` implementation for accuracy

## Type of change

- [x] Documentation or CI change

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

Implement branch-per-SPFx-version strategy

3 participants