Después de la instalación, simplemente comente /rebase
para activar la acción:
Para configurar la acción, simplemente agregue las siguientes líneas a su archivo de flujo de trabajo .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 garantizar que GitHub Actions se vuelva a ejecutar automáticamente después de una acción de rebase exitosa, use un token de acceso personal para
actions/checkout@v2
ycirrus-actions/[email protected]
. Consulte la siguiente discusión para obtener más detalles.
Ejemplo
...
- 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 }}
Opcionalmente, también puedes especificar el número PR de la rama a rebase, si la acción que estás ejecutando no se refiere directamente a una solicitud de extracción específica:
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
env :
GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
PR_NUMBER : 1245
Es posible utilizar el campo author_association
de un comentario para restringir quién puede invocar la acción y omitir la rebase para otros. Simplemente agregue la siguiente expresión a la declaración if
en su archivo de flujo de trabajo: github.event.comment.author_association == 'MEMBER'
. Consulte la documentación para obtener una lista de todos los valores disponibles author_association
.
GitHub también puede, opcionalmente, descartar una revisión existente automáticamente después de cambiar la base, por lo que deberá volver a aprobarla, lo que activará el flujo de trabajo de prueba. Configúrelo en su repositorio Configuración > Sucursales > Reglas de protección de sucursales > Requerir revisiones de solicitudes de extracción antes de fusionar > Descartar aprobaciones de solicitudes de extracción obsoletas cuando se envían nuevas confirmaciones .