ci: add sync release branches composite action [ED-25426] - #51
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 creationaction.yml: GitHub composite action wrapper defining inputs and environment variable mappingREADME.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