Skip to content

ci: add sync release branches composite action [ED-25426] - #51

Merged
davseve merged 4 commits into
elementor:mainfrom
davseve:ci/ED-25426-cherry-pick-release-branches
Aug 31, 2026
Merged

ci: add sync release branches composite action [ED-25426]#51
davseve merged 4 commits into
elementor:mainfrom
davseve:ci/ED-25426-cherry-pick-release-branches

CI: Rename action path to sync-release-branches [ED-25426]

37cc2c2
Select commit
Loading
Failed to load commit list.
gitStream.cm / gitstream/linearb_ai_description skipped Aug 30, 2026 in 2s

describe-changes@v1

describe-changes@v1: with concatenate mode: append

✨ PR Description

1. Problem & Context

Enable automatic cascade syncing of release merges downstream (stable→beta→main) without cherry-pick, reducing manual work. Ticket: ED-25426.

2. What Changed (Where)

  • sync-release-branches.sh: 223-line composite action script handling worktree-based merges with conflict detection and draft PR creation
  • action.yml: GitHub composite action wrapper defining inputs and environment variable mapping
  • README.md: Usage guide and cascade rules documentation

3. How It Works

Script resolves target branches based on base ref (stable→[beta,main], beta→[main]), creates isolated worktrees per target, attempts merge of the source commit, and opens either success or draft conflict-resolution PRs. Skips if target branch missing or PR already exists.

4. Risks

Merge conflicts: Draft PRs created with conflict markers require manual resolution—acceptable trade-off vs cherry-pick complexity. Force-with-lease pushes: Prevents accidental overwrites but could fail if concurrent updates occur; inherent to worktree approach. Loop prevention relies on caller: Script creates sync-pr* prefixed branches; workflows must skip these to prevent cascades.

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how