Forward Mergers

Overview

The forward mergers are automated pull requests to merge a branch in burndown into the next versioned branch. For example merging branch-22.12 into branch-23.02. This ensures all changes to the current branch are reflected in the next version.

The forward merger jobs are located here: https://gpuci.gpuopenanalytics.com/job/rapidsai/job/forward-mergers/

Intended audience

Developers

Project Leads

Operations

Forward Mergers

During the release process, the branch for the next release is created and set as default. Once this happens, the forward-merger branch jobs are activated. Forward-mergers automatically merge any commits made to the release branch to the latest default branch during burn down.

When Forward Merging Fails

It is important to note that the forward-merge jobs will sometimes fail due to merge conflicts, and will request a manual merge to be done. Never use the GitHub Web UI to fix the merge conflicts as it will cause changes in the default branch to be merged into the release branch. Please use the following steps to fix the merge conflicts manually:

Using the example of branch-22.12 release branch and a new default branch-23.02.

git checkout branch-22.12
git pull <rapidsai remote>
git checkout branch-23.02
git pull <rapidsai remote>
git checkout -b branch-23.02-merge-22.12
git merge --no-squash branch-22.12
# Fix any merge conflicts caused by this merge
git commit -am "Merge branch-22.12 into branch-23.02"
git push <personal fork> branch-23.02-merge-22.12

Once this is done, open a PR that targets the new default branch (branch-23.02 in this example) with your changes.

IMPORTANT: Before merging and approving this PR, be sure to change the merging strategy to Create a Merge Commit. Otherwise, history will be lost and the branches become incompatible.

Once this PR is approved and merged, the forward-merger PR should automatically be merged since it will contain the same commit hashes.