Add auto-merge workflow for sync PRs from approved authors (#4696)
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
49
.github/workflows/auto-merge-sync.yml
vendored
Normal file
49
.github/workflows/auto-merge-sync.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: Auto-merge sync PRs
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled, opened, synchronize, reopened]
|
||||
jobs:
|
||||
auto-merge:
|
||||
runs-on: ubuntu-latest
|
||||
if: contains(github.event.pull_request.labels.*.name, 'sync')
|
||||
steps:
|
||||
- name: Set token for author
|
||||
id: set-token
|
||||
run: |
|
||||
PR_AUTHOR="${{ github.event.pull_request.user.login }}"
|
||||
echo "author=$PR_AUTHOR" >> $GITHUB_OUTPUT
|
||||
|
||||
case "$PR_AUTHOR" in
|
||||
"wintonzheng")
|
||||
echo "token_name=WINTON_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
"LawyZheng")
|
||||
echo "token_name=LAWY_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
"suchintan")
|
||||
echo "token_name=SUCHINTAN_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
"pedrohsdb")
|
||||
echo "token_name=PEDRO_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
"marcmuon")
|
||||
echo "token_name=MARC_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
"celalzamanoglu")
|
||||
echo "token_name=CELAL_GH_PAT" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
*)
|
||||
echo "token_name=" >> $GITHUB_OUTPUT
|
||||
echo "Author $PR_AUTHOR is not in the approved list"
|
||||
;;
|
||||
esac
|
||||
- name: Auto-merge PR
|
||||
if: steps.set-token.outputs.token_name != ''
|
||||
run: |
|
||||
echo "Merging PR for author ${{ steps.set-token.outputs.author }}"
|
||||
gh pr merge ${{ github.event.pull_request.number }} \
|
||||
--repo ${{ github.repository }} \
|
||||
--squash \
|
||||
--admin
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets[steps.set-token.outputs.token_name] }}
|
||||
10
.github/workflows/sync-skyvern-cloud.yml
vendored
10
.github/workflows/sync-skyvern-cloud.yml
vendored
@@ -36,21 +36,11 @@ jobs:
|
||||
echo "GIT_EMAIL=suchintansingh@gmail.com" >> $GITHUB_OUTPUT
|
||||
echo "GIT_USERNAME=Suchintan Singh" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
jomido)
|
||||
echo "GH_PAT=${{ secrets.JON_GH_PAT }}" >> $GITHUB_OUTPUT
|
||||
echo "GIT_EMAIL=jon@skyvern.com" >> $GITHUB_OUTPUT
|
||||
echo "GIT_USERNAME=Jonathan Dobson" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
pedrohsdb)
|
||||
echo "GH_PAT=${{ secrets.PEDROHSDB_GH_PAT }}" >> $GITHUB_OUTPUT
|
||||
echo "GIT_EMAIL=pedro@skyvern.com" >> $GITHUB_OUTPUT
|
||||
echo "GIT_USERNAME=pedrohsdb" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
stanislaw89)
|
||||
echo "GH_PAT=${{ secrets.STAS_GH_PAT }}" >> $GITHUB_OUTPUT
|
||||
echo "GIT_EMAIL=stas@skyvern.com" >> $GITHUB_OUTPUT
|
||||
echo "GIT_USERNAME=stas" >> $GITHUB_OUTPUT
|
||||
;;
|
||||
marcmuon)
|
||||
echo "GH_PAT=${{ secrets.MARC_GH_PAT }}" >> $GITHUB_OUTPUT
|
||||
echo "GIT_EMAIL=marc@skyvern.com" >> $GITHUB_OUTPUT
|
||||
|
||||
Reference in New Issue
Block a user