feat: support release-x.y/{plugin} branches for Version Packages workflow - #4173
Conversation
…flow
Add release-*/** branch pattern to trigger Version Packages on
release branches directly, removing the dependency on workspace/{plugin}
as an intermediary. This enables concurrent backports to different
releases without conflicts on the shared workspace branch.
Ref: RHIDP-15922
PR Summary by QodoSupport release-x.y/* branches in Version Packages workflow
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1.
|
Addresses review feedback: tighten branch trigger from `release-*/**` to `release-*/*` and use `cut -f2` instead of `cut -f2-` to prevent multi-segment workspace names from slipping through. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Merging a PR into workspace/* or release-*/* currently triggers a Version Packages PR off a shared branch named maintenance-changesets-release/<workspace-name>. This still creates collisions when backporting to different versions concurrently (e.g., release-1.5/my-plugin and release-1.6/my-plugin).
Check this PR - #4101 which is created from a maintenance branch.
To support concurrent backports without branch conflicts, we need to include the release target in the branch name: maintenance-changesets-release/release-*/<workspace-name> as well.
…name
For release-x.y/{plugin} branches, use the full base ref as the
versionBranch ID (e.g., maintenance-changesets-release/release-1.10/orchestrator)
to avoid collisions when backporting the same plugin to multiple releases
concurrently. Existing workspace/* branches keep the current behavior.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Updated the PR — the versionBranch now includes the full base ref for |
|
Thanks @lokanandaprabhu, Could you also update the Contibuting guide to reflect this new change wrt |
Add recommended concurrent backport flow using release-x.y/{plugin}
branches. Move existing workspace/{plugin} approach under Legacy
section with a note about its concurrency limitation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
@karthikjeeyar I have updated the contribution guide and kept the old flow as legacy and new flow as recommended. PTAL. |



Summary
Adds
release-*/*branch pattern to the Version Packages workflow trigger, so it fires onrelease-x.y/{plugin}branches (e.g.release-1.10/orchestrator) in addition toworkspace/**.Updates workspace name extraction to handle both branch formats:
workspace/orchestrator→orchestratorrelease-1.10/orchestrator→orchestratorThe branch pattern is restricted to a single segment after the release prefix (
release-*/*notrelease-*/**) and extraction usescut -f2(notcut -f2-) to ensure workspace names never contain slashes.This removes the dependency on
workspace/{plugin}as an intermediary branch for triggering Version Packages, enabling concurrent backports to different releases without conflicts on the shared workspace branch.Ref: RHIDP-15922
Test plan
workspace/**branch PRs still trigger the workflow as beforerelease-x.y/{plugin}branch, merge a PR into it, and verify Version Packages PR is created🤖 Generated with Claude Code