aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Kritzinger <francois@codesynthesis.com>2024-05-08 16:57:18 +0200
committerFrancois Kritzinger <francois@codesynthesis.com>2024-05-09 10:48:11 +0200
commit71155b2b6fd4b2e9e9e999337c651006d86aa45f (patch)
treea7ca467b7e06d011c45ec176a4fa1f8eee112283
parentc55e6bda7bc640e43e141d1e3947ce82487368a2 (diff)
Set check run's `started at` to current time if updating to building
-rw-r--r--mod/mod-ci-github-gq.cxx22
-rw-r--r--mod/mod-ci-github.cxx2
2 files changed, 18 insertions, 6 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)};
diff --git a/mod/mod-ci-github.cxx b/mod/mod-ci-github.cxx
index ad3a002..d1f50f2 100644
--- a/mod/mod-ci-github.cxx
+++ b/mod/mod-ci-github.cxx
@@ -716,8 +716,6 @@ namespace brep
//
if (iat != nullptr)
{
- // @@ TODO: send timestamp so that build duration is accurate?
-
if (gq_update_check_run (error,
*cr,
iat->token,