インストール後、 /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/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 はオプションで、リベース後に既存のレビューを自動的に却下することもできるため、再度再承認する必要があり、テスト ワークフローがトリガーされます。リポジトリで[設定] > [ブランチ] > [ブランチ保護ルール] > [マージ前にプル リクエストのレビューを要求する] > [新しいコミットがプッシュされたときに古いプル リクエストの承認を破棄] で設定します。