Skip to content

替换净化管理页面 #56

替换净化管理页面

替换净化管理页面 #56

Workflow file for this run

name: Auto Merge PR
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
auto-merge:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # 必须获取所有分支和提交记录才能进行合并操作
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Install GitHub CLI
run: |
curl -fsSL https://github.com/cli/cli/releases/download/v2.49.2/gh_2.49.2_linux_amd64.tar.gz -o ghcli.tar.gz
tar -xzf ghcli.tar.gz
sudo mv gh_2.49.2_linux_amd64/bin/gh /usr/local/bin/
gh --version
- name: Determine if PR should be merged
id: determine-merge
run: |
ALLOWED_USERS=("yindushenwen" "linxunxr" "c386522459" "Sunny-316" "thfgjy" "stupchen" "MaoXiaoone" "ouzechang" "polo3584" "YiQingZi")
PR_AUTHOR=$(jq -r .pull_request.user.login < "$GITHUB_EVENT_PATH")
if printf '%s\n' "${ALLOWED_USERS[@]}" | grep -qx "${PR_AUTHOR}"; then
echo "PR author ${PR_AUTHOR} is allowed. Proceeding to merge."
echo "MERGE=true" >> $GITHUB_ENV
else
echo "PR author ${PR_AUTHOR} is not allowed to auto-merge."
echo "MERGE=false" >> $GITHUB_ENV
fi
- name: Merge PR
if: env.MERGE == 'true'
uses: actions/github-script@v7
with:
script: |
const { execSync } = require('child_process');
execSync(`gh pr merge ${{ github.event.pull_request.number }} --squash --admin --repo ${{ github.repository }}`, { stdio: 'inherit' });
env:
GH_TOKEN: ${{ secrets.AUTOMERGE }}