После установки просто прокомментируйте /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 также может при желании автоматически отклонить существующую проверку после перебазирования, поэтому вам придется повторно одобрить ее, что запустит рабочий процесс тестирования. Настройте это в настройках своего репозитория > Ветки > Правила защиты ветвей > Требовать проверки запросов на включение перед слиянием > Отклонять утверждения устаревших запросов на включение при отправке новых коммитов .