diff options
-rw-r--r-- | .github/workflows/backport.yml | 25 | ||||
-rw-r--r-- | doc/development_guide/contributor_guide/release.md | 15 |
2 files changed, 30 insertions, 10 deletions
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 000000000..6641ea8da --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,25 @@ +name: Backport +on: + pull_request_target: + types: + - closed + - labeled + +jobs: + backport: + name: Backport + runs-on: ubuntu-latest + # Only react to merged PRs for security reasons. + # See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target. + if: > + github.event.pull_request.merged && ( + github.event.action == 'closed' + || ( + github.event.action == 'labeled' + && contains(github.event.label.name, 'backport') + ) + ) + steps: + - uses: tibdex/backport@v2 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/doc/development_guide/contributor_guide/release.md b/doc/development_guide/contributor_guide/release.md index ee5fa2b7a..5de4b248f 100644 --- a/doc/development_guide/contributor_guide/release.md +++ b/doc/development_guide/contributor_guide/release.md @@ -49,17 +49,12 @@ branch ## Back-porting a fix from `main` to the maintenance branch -Whenever a commit on `main` should be released in a patch release on the current -maintenance branch we cherry-pick the commit from `main`. - -- During the merge request on `main`, make sure that the changelog is for the patch - version `X.Y-1.Z'`. (For example: `v2.3.5`) -- After the PR is merged on `main` cherry-pick the commits on the - `release-branch-X.Y-1.Z'` branch created from `maintenance/X.Y-1.x` then cherry-pick - the commit from the `main` branch. (For example: `release-branch-2.3.5` from - `maintenance/2.3.x`) -- Remove the "need backport" label from cherry-picked issues +Whenever a PR on `main` should be released in a patch release on the current maintenance +branch: +- Label the PR with `backport maintenance/X.Y-1.x`. (For example + `backport maintenance/2.3.x`) +- Squash the PR before merging (alternatively rebase if there's a single commit) - Release a patch version ## Releasing a patch version |