hydra/src/hydra-queue-runner/build-result.hh

43 lines
869 B
C++
Raw Normal View History

#pragma once
2015-05-29 01:31:12 +02:00
#include <memory>
#include "hash.hh"
#include "derivations.hh"
#include "store-api.hh"
struct BuildProduct
{
nix::Path path, defaultPath;
std::string type, subtype, name;
bool isRegular = false;
nix::Hash sha256hash;
off_t fileSize = 0;
BuildProduct() { }
};
struct BuildMetric
{
std::string name, unit;
double value;
};
struct BuildOutput
{
2015-06-17 17:11:42 +02:00
/* Whether this build has failed with output, i.e., the build
finished with exit code 0 but produced a file
$out/nix-support/failed. */
bool failed = false;
std::string releaseName;
unsigned long long closureSize = 0, size = 0;
std::list<BuildProduct> products;
std::map<std::string, BuildMetric> metrics;
};
BuildOutput getBuildOutput(nix::ref<nix::Store> store,
nix::ref<nix::FSAccessor> accessor, const nix::Derivation & drv);