Действие GitHub в ответ на pull_request, который не создает проверку статуса? - PullRequest
1 голос
/ 07 октября 2019

Я пытаюсь настроить действие GitHub, которое будет автоматически объединять PR, если они находятся в состоянии слияния (пройти все проверки и т. Д.).

Моя установка выглядит примерно так:

name: Auto-Merge Pull Requests

on:
  pull_request:
    branches:
      - master
    types:
      - opened
      - reopened

jobs:
  auto_merge:
    name: auto_merge
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: ./.github/actions/auto_merge

Внутри действия мой элементарный план состоит в том, чтобы просто опрашивать GitHub API до тех пор, пока PR не будет в чистом состоянии или не произойдет некоторый таймаут.

Однако я обнаружил, что это действие GitHubсам создает ожидающую проверку статуса на PR, которая становится зеленой только после того, как действие прекращается. Поэтому я принципиально не могу достичь того, чего хочу, поскольку само действие переводит PR в состояние, не подлежащее слиянию.

Как я могу запустить действие GitHub без создания новой проверки статуса в PR? Я просмотрел все документы и не могу найти никакой информации по этому вопросу.

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Я не пробовал это сам, но pascalgn/automerge-action на GitHub, возможно, стоит использовать вместо того, чтобы использовать собственное решение, так как оно также поддерживает множество дополнительных функций.

0 голосов
/ 10 октября 2019

Я предполагаю, что невозможно избежать проверки статуса при использовании on: pull_request. Я бы предложил попробовать реорганизовать ваше решение, чтобы использовать другой триггер рабочего процесса для выполнения самого слияния.

Возможно, on: status в этом случае будет работать хорошо. https://help.github.com/en/articles/events-that-trigger-workflows#status-event-status

Из справочника API:

API состояния позволяет внешним службам отмечать коммиты с помощью error, failure, pending или successсостояние, которое затем отражается в запросах на получение с участием этих коммитов.

https://developer.github.com/v3/repos/statuses/

Если ваш рабочий процесс выполнялся на событиях status и проверял, был ли рассматриваемый коммитв состоянии успеха и в PR, возможно, этот PR может быть объединен.

...