Вы можете использовать GitHub API для вывода списка контрольных пакетов, принадлежащих реф: https://octokit.github.io/rest.js/#octokit-routes-checks-list-suites-for-ref.
Таким образом, в вашем действии (инициируемом check_suite
) вы можете перечислить все наборы для текущегоref, проверьте, все ли они успешны, а затем запустите ваш код.
Если вы создаете действие javascript, оно может выглядеть так:
import * as github from "@actions/github";
const response = await client.checks.listSuitesForRef({
owner: github.context.repo.owner,
repo: github.context.repo.repo,
ref: sha
});
const passes = response.data.check_suites.every(...)
if (passes) { ... }
Основной недостаток этого подхода заключается вчто само это действие является набором проверок, принадлежащим текущему коммиту, поэтому оно появится в response.data.check_suites
(и никогда не будет успешным на этом этапе ... потому что оно все еще выполняется!).У меня пока нет решения для этой части ...