about summary refs log tree commit diff
path: root/src/libstore/store-api.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-20T01·15+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-07-20T01·20+0200
commiteda2f36c2ac847e02e871c327e7633693d92cd8d (patch)
tree16151796e60363480e53a24a88a5b0c5176c8cd3 /src/libstore/store-api.hh
parentccf31dbc25b8fe1ac0fba33c7205ba75d4f0adfe (diff)
Provide more detailed info about build status to hydra-queue-runner
In particular, hydra-queue-runner can now distinguish between remote
build / substitution / already-valid. For instance, if a path already
existed on the remote side, we don't want to store a log file.
Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r--src/libstore/store-api.hh18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index afc7376fe9..d04a040bb9 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -103,13 +103,23 @@ enum BuildMode { bmNormal, bmRepair, bmCheck };
 struct BuildResult
 {
     enum Status {
-        Success = 0,
-        PermanentFailure = 1,
-        TimedOut = 2,
-        MiscFailure = 3
+        Built = 0,
+        Substituted,
+        AlreadyValid,
+        PermanentFailure,
+        InputRejected,
+        OutputRejected,
+        TransientFailure, // possibly transient
+        CachedFailure,
+        TimedOut,
+        MiscFailure,
+        DependencyFailed
     } status = MiscFailure;
     std::string errorMsg;
     //time_t startTime = 0, stopTime = 0;
+    bool success() {
+        return status == Built || status == Substituted || status == AlreadyValid;
+    }
 };