feat: cascade merge — auto-create PRs to downstream branches after merge #460

Open
opened 2026-06-04 13:14:16 +00:00 by jmiller · 0 comments
Owner

Summary

When a PR merges into a branch (e.g. dev), automatically create follow-up PRs to configured downstream branches (e.g. main). This covers the common workflow of promoting changes through a branch hierarchy without manually creating each PR.

Motivation

Currently, merging a feature branch into dev requires manually creating a separate PR from dev to main. For projects with multi-stage branch workflows (feature -> dev -> staging -> main), this is repetitive and error-prone.

Proposed Behavior

  1. Repository setting: Configure cascade targets per branch (e.g. dev -> main)
  2. On PR merge: Auto-create draft PRs to each configured target
  3. Draft by default: Cascade PRs are drafts so maintainers review before merging
  4. Conflict handling: Label with cascade-conflict and notify PR author
  5. Grouping: Cascade PRs reference the original PR for traceability

Example Flow

feature/foo -> dev (manual PR, merged)
  -> dev -> main (auto-created draft PR)

Open Questions

  • Should cascade PRs auto-merge if no conflicts and CI passes?
  • Support skipping intermediate branches?
  • Cherry-pick vs merge commit for cascade?

Co-Authored-By: Claude Opus 4.6 (1M context)

## Summary When a PR merges into a branch (e.g. `dev`), automatically create follow-up PRs to configured downstream branches (e.g. `main`). This covers the common workflow of promoting changes through a branch hierarchy without manually creating each PR. ## Motivation Currently, merging a feature branch into `dev` requires manually creating a separate PR from `dev` to `main`. For projects with multi-stage branch workflows (feature -> dev -> staging -> main), this is repetitive and error-prone. ## Proposed Behavior 1. **Repository setting**: Configure cascade targets per branch (e.g. `dev` -> `main`) 2. **On PR merge**: Auto-create draft PRs to each configured target 3. **Draft by default**: Cascade PRs are drafts so maintainers review before merging 4. **Conflict handling**: Label with `cascade-conflict` and notify PR author 5. **Grouping**: Cascade PRs reference the original PR for traceability ## Example Flow ``` feature/foo -> dev (manual PR, merged) -> dev -> main (auto-created draft PR) ``` ## Open Questions - Should cascade PRs auto-merge if no conflicts and CI passes? - Support skipping intermediate branches? - Cherry-pick vs merge commit for cascade? --- _Co-Authored-By: Claude Opus 4.6 (1M context)_
Sign in to join this conversation.