Свяжите запуск рабочего процесса с запуском проверки с помощью Octokit JS
Я использую octokit, чтобы выполнить некоторые проверки изменений запроса на извлечение разработчика, прежде чем выполнять шаги рабочего процесса, установленные в файле YAML. В основном, когда PR создается или обновляется, у меня есть веб-перехватчик, который получает событие PR, проверяет, действителен ли PR, затем отправляет запуск рабочего процесса, если он недействителен, статус запуска проверки устанавливается как
failure
.
пример
await octokit.checks.create({
owner,
repo,
name: 'Custom check RUN',
head_sha: 'commit_sha',
status: 'in_progress',
})
const isValid = await isValidToDispatch()
if (!isValid) {
octokit.checks.update({
owner,
repo,
check_run_id: 9999,
status: 'completed',
conclusion: 'failure',
})
return
}
await octokit.actions.createWorkflowDispatch({
owner,
repo,
workflow_id: 'main.yml',
ref: 'commit_sha',
})
В
.github/workflows/main.yml
файл:
on:
workflow_dispatch
После отправки рабочий процесс является проблемой, потому что запуск рабочего процесса полностью отделен от PR, даже проверка не создается на PR. Итак, решение, которое я нашел, - это периодически наблюдать за выполнением рабочего процесса, поэтому, когда выполнение рабочего процесса завершено, я могу принять статус для обновления статуса запуска проверки как
failure
или же
success
в зависимости от результата рабочего процесса. Но журнал, выходные данные шагов не отображаются в журнале выполнения проверки.
Я хочу связать рабочий процесс с проверкой запуска или автоматически создать проверку на PR точно так же, как создается, когда я устанавливаю рабочий процесс на запуск каждого нажатия, например:
on:
push
РЕДАКТИРОВАТЬ: Я только что увидел, что невозможно автоматически создать проверку статуса с помощью
workflow_dispatch
здесь.