Github Actions推送至受保护生产分支时无法执行version bump问题求助
GitHub Actions 受保护分支自动版本升级失败解决方案
报错原因
你遇到的拦截触发自生产分支的保护规则,报错原文:
remote: error: 2 of 2 required status checks are expected. At least 1 approving review is required by reviewers with write access.
默认GitHub Actions使用的GITHUB_TOKEN没有绕过分支保护规则的权限,直接推送会触发强制校验、审批要求的拦截,以下是可落地的解决方案:
解决方案
方案1:配置带绕过权限的PAT直接推送
- 新建仓库级Personal Access Token(PAT),权限勾选
repo读写权限 - 进入仓库分支保护规则编辑页,在「可绕过分支保护规则」白名单中添加该PAT所属的账号,同时勾选允许该账号跳过强制状态校验、无需审批直接合入的权限
- 将PAT存入仓库Secrets,命名为
VERSION_BUMP_TOKEN - 替换工作流中推送步骤的token配置,示例如下:
- name: 推送版本号更新 uses: ad-m/github-push-action@v0.6.0 with: github_token: ${{ secrets.VERSION_BUMP_TOKEN }} branch: ${{ github.ref }}
方案2:自动创建PR+自动审批合入(无权限绕过,符合管控要求)
适合不希望开放分支保护绕过权限的场景,完全适配现有分支保护规则:
- 调整工作流逻辑:校验通过后将版本号更新提交到临时分支,调用接口自动创建指向生产分支的PR
- 新增自动审批步骤,使用有审批权限的账号PAT自动审批该PR,示例配置:
- name: 自动审批版本升级PR uses: hmarr/auto-approve-action@v3 with: github-token: ${{ secrets.REPO_ADMIN_TOKEN }} pull-request-number: ${{ steps.create-pr.outputs.pr-number }}
- 新增自动合入步骤,PR审批通过后自动合并到生产分支,无需人工操作
内容的提问来源于stack exchange,提问作者shaharnakash
相关产品推荐
相关产品推荐

