#yaml #github-actions
Вопрос:
У меня есть рабочий процесс со следующим механизмом запуска:
on:
pull_request_review:
types: [submitted]
jobs:
job_one:
if: github.event.review.state == 'approved'
Он работает точно так, как ожидалось, поэтому после утверждения PR рабочий процесс развертывается. Однако, если кто-либо оставляет комментарий в рамках утверждения и к этому комментарию добавляется ответ, рабочий процесс развертывается снова, но задание пропускается. Как я могу избежать развертывания рабочего процесса при добавлении ответа в PR-комментарий? Он перезаписывает активные проверки и визуально сбивает с толку, даже если рабочий процесс все еще выполняется.
Комментарии:
1. Вы можете проверить, есть ли еще одно событие внутри
github.event.review
переменной, когда в PR добавляется новый ответ. Если есть, вы можете добавить его вif
условие задания, чтобы не запускать его, если это событие присутствует (используетсяamp;amp;
).2. Это все равно приведет к развертыванию рабочего процесса? Поэтому прямо сейчас, когда добавляется комментарий, рабочий процесс развертывается, но все задания пропускаются, так как состояние проверки не «одобрено». Я хочу избежать развертывания всего рабочего процесса вместе. Я чувствую, что это причуда с триггером pull_request_review для отправленного типа. Честно говоря, это не так уж важно, но активные проверки перезаписываются в PR и показывают, что задания были пропущены, хотя на самом деле задание действительно выполнялось при отправке отзыва. Это просто сбивает с толку разработчика.
3. При такой реализации рабочий процесс будет выполняться, но задания будут пропущены, если условие не будет выполнено. Если вы не хотите, чтобы рабочий процесс выполнялся при выполнении условия, я бы предложил разделить логику на 2 рабочих процесса. Один для проверки выполнения условия, а другой для выполнения развертывания. Где первый рабочий процесс запускает второй рабочий процесс (например, через событие отправки) только в том случае, если условие выполнено, и ничего не делает иначе.