diff --git a/.github/workflows/auto-merge-sync.yml b/.github/workflows/auto-merge-sync.yml new file mode 100644 index 00000000..c0180907 --- /dev/null +++ b/.github/workflows/auto-merge-sync.yml @@ -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] }} diff --git a/.github/workflows/sync-skyvern-cloud.yml b/.github/workflows/sync-skyvern-cloud.yml index 8aa14dbc..014f0964 100644 --- a/.github/workflows/sync-skyvern-cloud.yml +++ b/.github/workflows/sync-skyvern-cloud.yml @@ -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