Após a instalação, basta comentar /rebase
para acionar a ação:
Para configurar a ação, basta adicionar as seguintes linhas ao seu arquivo de fluxo de trabalho .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 }}
NOTA: Para garantir que o GitHub Actions seja executado novamente automaticamente após uma ação de rebase bem-sucedida, use um token de acesso pessoal para
actions/checkout@v2
ecirrus-actions/[email protected]
. Consulte a discussão a seguir para obter mais detalhes.
Exemplo
...
- 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 }}
Você também pode especificar opcionalmente o número PR do branch para rebase, se a ação que você está executando não se referir diretamente a uma solicitação pull específica:
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
env :
GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
PR_NUMBER : 1245
É possível usar o campo author_association
de um comentário para restringir quem pode chamar a ação e pular o rebase para outros. Basta adicionar a seguinte expressão à instrução if
em seu arquivo de fluxo de trabalho: github.event.comment.author_association == 'MEMBER'
. Consulte a documentação para obter uma lista de todos os valores disponíveis de author_association
.
Opcionalmente, o GitHub também pode descartar automaticamente uma revisão existente após o rebase, portanto, você precisará aprovar novamente, o que acionará o fluxo de trabalho de teste. Configure-o em seu repositório Configurações > Branches > Regras de proteção de branch > Exigir revisões de pull request antes de mesclar > Dispensar aprovações de pull request obsoletas quando novos commits forem enviados .