Свяжите запуск рабочего процесса с запуском проверки с помощью 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 здесь.

0 ответов

Другие вопросы по тегам