Nach der Installation kommentieren Sie einfach /rebase
um die Aktion auszulösen:
Um die Aktion zu konfigurieren, fügen Sie einfach die folgenden Zeilen zu Ihrer .github/workflows/rebase.yml
Workflow-Datei hinzu:
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 }}
HINWEIS: Um sicherzustellen, dass GitHub Actions nach einer erfolgreichen Rebase-Aktion automatisch erneut ausgeführt wird, verwenden Sie ein persönliches Zugriffstoken für
actions/checkout@v2
undcirrus-actions/[email protected]
. Weitere Einzelheiten finden Sie in der folgenden Diskussion.
Beispiel
...
- 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 }}
Sie können optional auch die PR-Nummer des Zweigs angeben, für den ein Rebase durchgeführt werden soll, wenn die von Ihnen ausgeführte Aktion nicht direkt auf eine bestimmte Pull-Anfrage verweist:
- name : Automatic Rebase
uses : cirrus-actions/[email protected]
env :
GITHUB_TOKEN : ${{ secrets.PAT_TOKEN }}
PR_NUMBER : 1245
Es ist möglich, das Feld author_association
eines Kommentars zu verwenden, um einzuschränken, wer die Aktion aufrufen kann, und die Rebase für andere zu überspringen. Fügen Sie einfach den folgenden Ausdruck zur if
-Anweisung in Ihrer Workflow-Datei hinzu: github.event.comment.author_association == 'MEMBER'
. Eine Liste aller verfügbaren Werte von author_association
finden Sie in der Dokumentation.
GitHub kann optional auch eine vorhandene Überprüfung automatisch nach dem Rebase verwerfen, sodass Sie sie erneut genehmigen müssen, was den Testworkflow auslöst. Richten Sie es in Ihren Repository- Einstellungen > Branches > Branch-Schutzregeln > Pull-Request-Überprüfungen vor dem Zusammenführen erforderlich > Veraltete Pull-Request-Genehmigungen verwerfen, wenn neue Commits gepusht werden .