Open a backport PR to merge the release branch into main #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. | |
# SPDX-License-Identifier: Apache-2.0 | |
name: Open a backport PR to merge the release branch into main | |
on: | |
# automatically called by release.yml | |
workflow_dispatch: | |
# can also be manually triggered when a patch fix is merged into the release branch and needs to be back-ported | |
workflow_call: | |
secrets: | |
RELEASE_AUTOMATION_BOT_PAT: | |
required: true | |
env: | |
release_branch: smithy-rs-release-1.x.y | |
jobs: | |
create-backport-pull-request: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} | |
- name: Prepare backport branch | |
id: backport-branch | |
run: | | |
# This step assumes the merge runs cleanly without conflicts, which should be the case when | |
# this workflow is called by the release workflow right after a release tag has been created. | |
git config --local user.name "AWS SDK Rust Bot" | |
git config --local user.email "[email protected]" | |
git fetch --unshallow | |
git checkout origin/main | |
backport_branch="merge-${{ env.release_branch }}-to-main-$(date +%s)" | |
git checkout -b "${backport_branch}" | |
git merge "origin/${{ env.release_branch }}" -m 'Merge remote-tracking branch "origin/${{ env.release_branch }}" into "merge-${{ env.release_branch }}-to-main"' | |
git push origin HEAD | |
echo "branch_name=${backport_branch}" > $GITHUB_OUTPUT | |
- name: Create pull request | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_AUTOMATION_BOT_PAT }} | |
run: | | |
gh pr create \ | |
--title "Merge ${{ env.release_branch }} into main" \ | |
--body "Merge it with \`gh pr merge --admin --merge\` or manually merge it with the merge commit (not squash merge)." \ | |
--base main \ | |
--head ${{ steps.backport-branch.outputs.branch_name }} \ | |
--label "needs-sdk-review" \ | |
--draft |