Repository navigation
Creating Release Branches
This runbook is for repository admins with write access. It explains what to verify on main before cutting a release-x.y branch, and how to run the Create Release Branch workflow.
Plugin owners who need to update an existing release branch should use 05 - Version Updates instead.
Create a release-x.y branch from main when an RHDH release line needs a long-lived overlay branch. After creation:
- The branch tracks that RHDH release's plugin set.
- Only updates to existing workspaces are accepted; new workspaces are not added automatically.
- Scheduled daily ref discovery does not run on release branches (manual updates only).
Review these wiki reports for main before running the workflow. Only Backstage compatibility for required plugins is enforced automatically; the rest is human judgment.
| Report | What to check |
|---|---|
| Backstage Compatibility Report | Hard gate. Mandatory (required) workspaces must be compatible with the target Backstage version. Incompatible non-required workspaces are removed from the new branch when it is created. |
| NFS Readiness Report | Confirm New Frontend System readiness for plugins that matter to the release. |
Workspace Status (main) |
Spot metadata, ref, or version issues on workspaces you intend to keep. |
Plugin Catalog Status (main) |
Confirm catalog index health for packages that ship on the release line. |
Required plugins come from the union of rhdh-supported-packages.txt and rhdh-community-packages.txt on main. If a required workspace is Backstage-incompatible, the workflow fails and the branch is not created.
Write access to this repository is required.
- Open Create Release Branch.
- Choose Run workflow.
- Use workflow from
main. - Set release-branch to the new name (for example
release-2.1). - Run the workflow and watch the
check,create, andexportjobs.
gh workflow run create-release-branch.yaml \
-f release-branch=release-2.1Add -f debug=true only when diagnosing script failures.
The workflow file is .github/workflows/create-release-branch.yaml.
-
Prepare required plugins β concatenates
rhdh-supported-packages.txtandrhdh-community-packages.txt. -
Backstage compatibility check β runs against
mainwithfail-for-required-only: true. Required incompatibilities fail the run; non-required incompatibilities are listed for removal. -
Create the branch β checks out
main, createsrelease-x.y, deletes incompatible non-required workspace folders, and verifies every required plugin still exists in that workspace'splugins-list.yaml. - Push and export β pushes the new branch and triggers dynamic-plugin export/publish for that overlay branch.
flowchart TD
preflight[Admin reviews four wiki pages]
runWf[Run create-release-branch.yaml]
check[Backstage compat gate required only]
create[Create release-x.y strip non-required incompatibles]
export[Export and publish on new branch]
preflight --> runWf --> check --> create --> export
- Confirm the branch exists:
git fetch origin release-x.y(or open it on GitHub). - When generated reports refresh, check the new line's Workspace Status Reports and Plugin Catalog Index Status pages for
release-x.y. - For later workspace updates on that branch, follow Updating Release Branches.