aboutsummaryrefslogtreecommitdiff
path: root/mod/mod-ci-github-gq.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'mod/mod-ci-github-gq.hxx')
-rw-r--r--mod/mod-ci-github-gq.hxx36
1 files changed, 23 insertions, 13 deletions
diff --git a/mod/mod-ci-github-gq.hxx b/mod/mod-ci-github-gq.hxx
index 50950d4..0fc3817 100644
--- a/mod/mod-ci-github-gq.hxx
+++ b/mod/mod-ci-github-gq.hxx
@@ -20,7 +20,7 @@ namespace brep
//
// Create a new check run on GitHub for each build with the build state,
- // name, and details_url taken from each check_run object. Update
+ // name, details_url, and output taken from each check_run object. Update
// `check_runs` with the new data (node id and state_synced). Return false
// and issue diagnostics if the request failed.
//
@@ -39,18 +39,32 @@ namespace brep
const string& repository_id,
const string& head_sha);
- // Create a new check run on GitHub for a build. Update `cr` with the new
- // data (node id, state, and state_synced). Return false and issue
- // diagnostics if the request failed.
+ // Create a new check run on GitHub for a build in the queued or building
+ // state. Note that the state cannot be built because in that case a
+ // conclusion is required.
+ //
+ // Update `cr` with the new data (node id, state, and state_synced). Return
+ // false and issue diagnostics if the request failed.
//
// Throw invalid_argument if the passed data is invalid, missing, or
// inconsistent.
//
- // If the details_url is absent GitHub will use the app's homepage.
+ // If the details_url is absent GitHub will use the app's homepage. Title
+ // and summary are required and cannot be empty.
//
- // The gq_built_result is required if the build_state is built because
- // GitHub does not allow a check run status of `completed` without at least
- // a conclusion.
+ bool
+ gq_create_check_run (const basic_mark& error,
+ check_run& cr,
+ const string& installation_access_token,
+ const string& repository_id,
+ const string& head_sha,
+ const optional<string>& details_url,
+ build_state,
+ string title,
+ string summary);
+
+ // As above but create a check run in the built state (which requires a
+ // conclusion).
//
struct gq_built_result
{
@@ -66,8 +80,7 @@ namespace brep
const string& repository_id,
const string& head_sha,
const optional<string>& details_url,
- build_state,
- optional<gq_built_result> = nullopt);
+ gq_built_result);
// Update a check run on GitHub. Update `cr` with the new data (state and
// state_synced). Return false and issue diagnostics if the request failed.
@@ -79,8 +92,6 @@ namespace brep
// built to built is allowed). The latter case is signalled by setting the
// check_run state_synced member to false and the state member to built.
//
- // If the details_url is absent GitHub will use the app's homepage.
- //
// The gq_built_result is required if the build_state is built because
// GitHub does not allow a check run status of `completed` without at least
// a conclusion.
@@ -91,7 +102,6 @@ namespace brep
const string& installation_access_token,
const string& repository_id,
const string& node_id,
- const optional<string>& details_url,
build_state,
optional<gq_built_result> = nullopt);