aboutsummaryrefslogtreecommitdiff
path: root/mod/mod-ci-github-gq.cxx
diff options
context:
space:
mode:
authorFrancois Kritzinger <francois@codesynthesis.com>2024-05-08 16:57:18 +0200
committerFrancois Kritzinger <francois@codesynthesis.com>2024-05-13 09:17:32 +0200
commit4781643313836a0834f19db5642647824eae4185 (patch)
treeeff30d752af681d14de48685a69e7ce8aef77012 /mod/mod-ci-github-gq.cxx
parentb4b875e173d5da3a815905bfa10db6209f902133 (diff)
Set check run's `started at` to current time if updating to building
Diffstat (limited to 'mod/mod-ci-github-gq.cxx')
-rw-r--r--mod/mod-ci-github-gq.cxx22
1 files changed, 18 insertions, 4 deletions
diff --git a/mod/mod-ci-github-gq.cxx b/mod/mod-ci-github-gq.cxx
index 4a4f56d..28f8e18 100644
--- a/mod/mod-ci-github-gq.cxx
+++ b/mod/mod-ci-github-gq.cxx
@@ -385,10 +385,11 @@ namespace brep
// conclusion.
//
static string
- gq_mutation_update_check_run (const string& ri, // Repository ID.
- const string& ni, // Node ID.
- const string& du, // Details URL.
- const string& st, // Check run status.
+ gq_mutation_update_check_run (const string& ri, // Repository ID.
+ const string& ni, // Node ID.
+ const string& du, // Details URL.
+ const string& st, // Check run status.
+ optional<timestamp> sa, // Started at.
optional<gq_built_result> br)
{
ostringstream os;
@@ -398,6 +399,11 @@ namespace brep
<< " checkRunId: " << gq_str (ni) << '\n'
<< " repositoryId: " << gq_str (ri) << '\n'
<< " status: " << gq_enum (st);
+ if (sa)
+ {
+ os << '\n';
+ os << " startedAt: " << gq_str (gh_to_iso8601 (*sa));
+ }
if (!du.empty ())
{
os << '\n';
@@ -502,12 +508,20 @@ namespace brep
//
assert (!du.empty ());
+ // Set `started at` to current time if updating to building.
+ //
+ optional<timestamp> sa;
+
+ if (st == build_state::building)
+ sa = system_clock::now ();
+
string rq (
gq_serialize_request (
gq_mutation_update_check_run (rid,
nid,
du,
gh_to_status (st),
+ sa,
move (br))));
vector<check_run> crs {move (cr)};