Моя цель - добраться до момента, когда я могу ввести /run-black в качестве комментария к запросу на вытягивание в GitHub, а затем GitHubActions запустит black . в ветке запроса на вытягивание и добавит фиксацию.

Сценарий использования состоит в том, что иногда случайные участники делают небольшой запрос на перенос в мою библиотеку (например, исправляя опечатку), и я хотел бы иметь возможность просто написать комментарий, например /run-black, чтобы получить black форматировщик запускает свои файлы перед слиянием.

0
ignoring_gravity 11 Дек 2020 в 13:36

1 ответ

Лучший ответ

Используйте действие Slash Command Dispatch. Добавьте PAT с областью видимости repo с именем PAT к своим секретам и создайте два рабочих процесса со следующими определениями.

name: Slash Command Dispatch
on:
  issue_comment:
    types: [created]
jobs:
  slashCommandDispatch:
    runs-on: ubuntu-latest
    steps:
      - name: Slash Command Dispatch
        uses: peter-evans/slash-command-dispatch@v2
        with:
          token: ${{ secrets.PAT }}
          issue-type: pull-request
          commands: |
            run-black
on:
  repository_dispatch:
    types: [run-black-command]
jobs:
  runBlack:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          repository: ${{github.event.client_payload.pull_request.head.repo.full_name}}
          ref: ${{github.event.client_payload.pull_request.head.ref}}
          token: ${{ secrets.PAT }}
      - name: Slash Command Dispatch
        run: black .
      - run: |
          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git commit -m "Run black" -a
          git push
1
riQQ 12 Дек 2020 в 22:01