Skip to content

Add branch creation rules and update pipeline triggers - #16384

Merged
Vladimir Morozov (vmoroz) merged 1 commit into
microsoft:mainfrom
vmoroz:PR/update-branch-rules
Aug 21, 2026
Merged

Add branch creation rules and update pipeline triggers#16384
Vladimir Morozov (vmoroz) merged 1 commit into
microsoft:mainfrom
vmoroz:PR/update-branch-rules

Conversation

@vmoroz

@vmoroz Vladimir Morozov (vmoroz) commented Aug 21, 2026

Copy link
Copy Markdown
Member

Description

Type of Change

  • Automation (CI/pipeline and repository-policy changes)
  • This change requires a documentation update

Why

We want the repository's branch list to stay clean and the pipelines to target a
deliberate, documented set of branches. Until now anyone could create a top-level
branch, and the pipelines still referenced 0.82-stable, which we are retiring.
This change adds a branch-creation policy and pins the pipelines to the branches we
actually support. It builds on the recent .ado pipeline work (#16379).

What

  • Branch-creation ruleset (.ado/repo-rules/). A checked-in GitHub repository
    ruleset that only allows new branches under approved namespaces (user/<alias>/…
    for personal work, plus tooling namespaces like dependabot/, copilot/,
    prepare-release/, integrate/, cherry-pick/, *-stable, and so on). It is
    creation-only, so existing branches and pushes are unaffected. The folder README
    has the apply/update/rollback commands and documents the pattern-matching
    gotchas. Keeping it in the repo gives the live policy a reviewable history.

  • Supported branch set in the pipelines. All pipelines that list branches use
    the same set — main + 0.81/0.83/0.84/0.85/0.86/0.87-stable. CI and Release
    drop 0.82-stable; the PR pipeline is set to that explicit list (its former
    *-stable wildcard and master are removed); the prepare-release bot now has a
    YAML CI trigger on that set (moved out of the ADO UI) and its targetBranch
    dropdown drops 0.82/0.80/0.74 and adds 0.830.87.

  • Docs (.ado/README.md). A new "Supported branches" table is the source of
    truth for the set, with per-pipeline notes and a pointer to the branch-creation
    ruleset. Each branch list carries a "keep in sync" comment back to it.

  • Integration pipeline namespace fix. integrate-rn.yaml now pushes its branch
    as integrate/<version> instead of the top-level integrate-<version>, so it
    stays within the namespaces the new ruleset allows.

Testing

The ruleset patterns were verified against real branch names with the same
fnmatch engine GitHub uses, then applied and smoke-tested live (a top-level push
was rejected; a user/… push was accepted). Pipeline YAML changes are limited to
trigger branch lists and were validated locally.

Changelog

Should this change be included in the release notes: no

Internal CI/pipeline and repository-policy change; retires the 0.82-stable branch
from the build pipelines.

Microsoft Reviewers: Open in CodeFlow

Copilot AI balanced review requested due to automatic review settings August 21, 2026 18:54

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 branch-creation governance and aligns Azure pipelines with documented supported branches.

Changes:

  • Adds a namespaced-branch ruleset and operational documentation.
  • Synchronizes CI, PR, release, and prepare-release branch filters.
  • Updates integration branches to use integrate/….

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.config/1espt/PipelineAutobaseliningConfig.yml Unrelated no-op rewrite.
.ado/repo-rules/README.md Documents ruleset management.
.ado/repo-rules/branch-namespace-ruleset.json Defines allowed branch namespaces.
.ado/README.md Documents supported branches.
.ado/ci-pipeline.yml Updates CI branches.
.ado/pr-pipeline.yml Updates PR target branches.
.ado/release-pipeline.yml Updates release triggers.
.ado/prepare-release-bot.yml Adds YAML triggers and target options.
.ado/integrate-rn.yaml Uses the integrate/ namespace.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .config/1espt/PipelineAutobaseliningConfig.yml
@vmoroz
Vladimir Morozov (vmoroz) enabled auto-merge (squash) August 21, 2026 22:51
@vmoroz
Vladimir Morozov (vmoroz) merged commit de669d0 into microsoft:main Aug 21, 2026
32 checks passed
@vmoroz
Vladimir Morozov (vmoroz) deleted the PR/update-branch-rules branch August 21, 2026 23:25
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