|
@@ -0,0 +1,38 @@
|
|
|
+name: Backport a pull request
|
|
|
+on:
|
|
|
+ workflow_dispatch:
|
|
|
+ inputs:
|
|
|
+ pr:
|
|
|
+ description: "The pull request # to backport"
|
|
|
+ required: true
|
|
|
+
|
|
|
+jobs:
|
|
|
+ backport:
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v3
|
|
|
+ with:
|
|
|
+ # need full tree in order to do cherry-pick
|
|
|
+ fetch-depth: 0
|
|
|
+
|
|
|
+ - name: Setup git name
|
|
|
+ run: |
|
|
|
+ git config user.name opentelemetry-java-bot
|
|
|
+ git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
|
|
|
+
|
|
|
+ - name: Create pull request
|
|
|
+ env:
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
+ PR: ${{ github.event.inputs.pr }}
|
|
|
+ run: |
|
|
|
+ commit=$(gh pr view $PR --json mergeCommit --jq .mergeCommit.oid)
|
|
|
+ title=$(gh pr view $PR --json title --jq .title)
|
|
|
+ url=$(gh pr view $PR --json url --jq .url)
|
|
|
+
|
|
|
+ git cherry-pick $commit
|
|
|
+ git push origin HEAD:backport-$PR-to-$GITHUB_REF_NAME
|
|
|
+
|
|
|
+ gh pr create --title "[$GITHUB_REF_NAME] $title" \
|
|
|
+ --body "Clean cherry-pick of #$PR to the $GITHUB_REF_NAME branch." \
|
|
|
+ --head backport-$PR-to-$GITHUB_REF_NAME \
|
|
|
+ --base $GITHUB_REF_NAME
|