aboutsummaryrefslogtreecommitdiff
path: root/libbbot/manifest.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-09-29 21:22:00 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-10-03 19:42:36 +0300
commit022d5cb4f246809ce8d9a08d3499edd309ed26e7 (patch)
treeb5546e41ab32cb5692fd3ca409642c3fc5cf1b5c /libbbot/manifest.hxx
parentb387713a19ddf0d10d8ae28c5de6e78cd9d568b5 (diff)
Add agent, worker, and dependency checksums to task/result manifests
Diffstat (limited to 'libbbot/manifest.hxx')
-rw-r--r--libbbot/manifest.hxx34
1 files changed, 30 insertions, 4 deletions
diff --git a/libbbot/manifest.hxx b/libbbot/manifest.hxx
index 1896f70..7ba53cb 100644
--- a/libbbot/manifest.hxx
+++ b/libbbot/manifest.hxx
@@ -170,6 +170,8 @@ namespace bbot
std::vector<bpkg::requirement_alternatives> requirements;
butl::small_vector<bpkg::test_dependency, 1> tests;
+ butl::optional<std::string> dependency_checksum;
+
std::string machine; // Build machine to use for building the package.
butl::target_triplet target; // Build target.
@@ -178,6 +180,7 @@ namespace bbot
// Build system configuration variables (in addition to build environment
// configuration variables).
+ //
// Note: could be quoted.
//
strings config;
@@ -194,6 +197,8 @@ namespace bbot
butl::optional<std::string> interactive; // Interactive build breakpoint.
+ butl::optional<std::string> worker_checksum;
+
strings
unquoted_config () const;
@@ -206,26 +211,30 @@ namespace bbot
strings tr,
std::vector<bpkg::requirement_alternatives> ra,
butl::small_vector<bpkg::test_dependency, 1> ts,
+ butl::optional<std::string> dc,
std::string mn,
butl::target_triplet tg,
butl::optional<std::string> en,
strings cf,
butl::optional<bool> ht,
strings wr,
- butl::optional<std::string> ir)
+ butl::optional<std::string> ir,
+ butl::optional<std::string> wc)
: name (std::move (nm)),
version (std::move (vr)),
repository (std::move (rl)),
trust (std::move (tr)),
requirements (std::move (ra)),
tests (std::move (ts)),
+ dependency_checksum (std::move (dc)),
machine (std::move (mn)),
target (std::move (tg)),
environment (std::move (en)),
config (std::move (cf)),
host (std::move (ht)),
warning_regex (std::move (wr)),
- interactive (std::move (ir)) {}
+ interactive (std::move (ir)),
+ worker_checksum (std::move (wc)) {}
public:
task_manifest () = default; // VC export.
@@ -255,15 +264,20 @@ namespace bbot
//
butl::optional<std::string> challenge;
butl::optional<std::string> result_url;
+
+ butl::optional<std::string> agent_checksum;
+
butl::optional<task_manifest> task;
task_response_manifest (std::string s,
butl::optional<std::string> c,
butl::optional<std::string> u,
+ butl::optional<std::string> ac,
butl::optional<task_manifest> t)
: session (std::move (s)),
challenge (std::move (c)),
result_url (std::move (u)),
+ agent_checksum (std::move (ac)),
task (std::move (t)) {}
public:
@@ -283,6 +297,7 @@ namespace bbot
// indicate whether one "overrides" the other in the "merge" operator|
// (see below).
//
+ skip,
success,
warning,
error,
@@ -346,14 +361,21 @@ namespace bbot
//
operation_results results;
+ butl::optional<std::string> worker_checksum;
+ butl::optional<std::string> dependency_checksum;
+
result_manifest (bpkg::package_name n,
bpkg::version v,
result_status s,
- operation_results r)
+ operation_results r,
+ butl::optional<std::string> wc,
+ butl::optional<std::string> dc)
: name (std::move (n)),
version (std::move (v)),
status (s),
- results (std::move (r)) {}
+ results (std::move (r)),
+ worker_checksum (std::move (wc)),
+ dependency_checksum (std::move (dc)) {}
public:
result_manifest () = default; // VC export.
@@ -375,13 +397,17 @@ namespace bbot
//
butl::optional<std::vector<char>> challenge;
+ std::string agent_checksum;
+
result_manifest result;
result_request_manifest (std::string s,
butl::optional<std::vector<char>> c,
+ std::string ac,
result_manifest r)
: session (std::move (s)),
challenge (std::move (c)),
+ agent_checksum (std::move (ac)),
result (std::move (r)) {}
public: