RSN 47 - Changes to RAPIDS branching strategy in 25.08
Author | RAPIDS Ops |
Status | In Progress |
Topic | Development Process Change |
RAPIDS Version | v25.08+ |
Created | 05 May 2025 |
Updated | N/A |
Overview
RAPIDS will be migrating to a new branching strategy for the 25.08 release. The new
strategy will use a single long-lived branch called main
, which all pull requests
should target. In preparation for a release, a release branch will be created from
main
and any remaining pull requests for that release should be merged into the
release branch.
Releases and hot fixes will be tagged from the release branch.
This new strategy will be piloted on several RAPIDS libraries (rapidsai/rmm
,
rapidsai/kvikio
, and rapidsai/cugraph-gnn
) during the 25.08
development cycle.
Migrations will begin shortly after the 25.06 release. After the 25.08
release,
the new strategy will be implemented across all RAPIDS libraries.
Impact
Below is a table comparing the current and new branching strategies. Here, the current release is YY.MM
(e.g. 25.06) and we denote the next release as <YY.MM-next>
(e.g. 25.08).
Aspect | Current (25.06) | New Branching Strategy (25.08+) |
---|---|---|
Default Branch | Switched per release (e.g. branch-YY.MM , then branch-<YY.MM-next> ) |
Always main (latest and greatest) |
Feature PRs | Target current default branch; retarget manually if moving to a different release | Always target main . During release preparation, pull requests may need to be re-targeted to the release branch. |
Release Branching | No specific branch, branch-YY.MM is the release branch |
Create release/YY.MM for releases, used during burndown & code freeze |
Burndown Process | branch-<YY.MM-next> is created |
Bump main to <YY.MM-next>.00 , tag v<YY.MM-next>.00a , create branch release/YY.MM , enable forward merges from release/YY.MM → main |
Code Freeze | Only admin-merges to branch-YY.MM |
Only admin-merges to release/YY.MM |
Release | Merge branch/YY.MM → main ; tag vYY.MM.00 on main |
Merge release/YY.MM → main ; disable forward-merges from release/YY.MM → main ; tag vYY.MM.00 on release/YY.MM |
Hotfixes | Cherry-pick directly onto branch-YY.MM , follow release process |
Create branch hotfix/YY.MM from pre-tag commit on release/YY.MM , open PRs to release/YY.MM and main , follow release process |
Tooling | Ops-bot for forward-mergers, release scripts | Minimal custom tooling; leverage standard GitHub workflows |
External repositories that depend on RAPIDS shared-workflows should be updated to use the main
branch or new tags for each release. The RAPIDS team will work with external repositories to ensure a smooth transition.