一只狐狸
1.8
安装后只需注释/rebase
即可触发操作:
要配置操作,只需将以下行添加到您的.github/workflows/rebase.yml
工作流程文件中:
name : Automatic Rebase
on :
issue_comment :
types : [created]
jobs :
rebase :
name : Rebase
runs-on : ubuntu-latest
if : >-
github.event.issue.pull_request != '' &&
(
contains(github.event.comment.body, '/rebase') ||
contains(github.event.comment.body, '/autosquash')
)
steps :
- name : Checkout the latest code
uses : actions/checkout@v3
with :
token : ${{ secrets.GITHUB_TOKEN }}
fetch-depth : 0 # otherwise, you will fail to push refs to dest repo
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
with :
autosquash : ${{ contains(github.event.comment.body, '/autosquash') || contains(github.event.comment.body, '/rebase-autosquash') }}
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
注意:为确保 GitHub Actions 在成功变基操作后自动重新运行,请使用
actions/checkout@v2
和cirrus-actions/[email protected]
个人访问令牌。有关更多详细信息,请参阅以下讨论。
例子
...
- name : Checkout the latest code
uses : actions/checkout@v3
with :
token : ${{ secrets.PAT_TOKEN }}
fetch-depth : 0 # otherwise, you will fail to push refs to dest repo
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
env :
GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
如果您正在运行的操作不直接引用特定的拉取请求,您还可以选择指定要变基的分支的 PR 编号:
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
env :
GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
PR_NUMBER : 1245
可以使用评论的author_association
字段来限制谁可以调用该操作并跳过其他人的变基。只需将以下表达式添加到工作流程文件中的if
语句中: github.event.comment.author_association == 'MEMBER'
。请参阅文档以获取author_association
的所有可用值的列表。
GitHub 还可以选择在变基后自动驳回现有审核,因此您需要再次重新批准,这将触发测试工作流程。在存储库中进行设置设置>分支>分支保护规则>合并前需要审查拉取请求>推送新提交时取消过时的拉取请求批准。