22
flake.lock
generated
22
flake.lock
generated
@@ -3,16 +3,16 @@
|
|||||||
"nix": {
|
"nix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768160359,
|
"lastModified": 1768160797,
|
||||||
"narHash": "sha256-XDCQIrHNJKMYoL8hcUgzEbBHzINofkcsLRDr7tYa7Ac=",
|
"narHash": "sha256-TVKn52SoKq8mMyW/x3NPPskGVurFdnGGV0DGvnL0gak=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "b601b44de51f8d46530a99659f889027e1e7d670",
|
"rev": "fb562abba93fb15f66a71a9fc1d94bb1ea21a2d4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "2.32-maintenance",
|
"ref": "2.33-maintenance",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -20,27 +20,27 @@
|
|||||||
"nix-eval-jobs": {
|
"nix-eval-jobs": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760478325,
|
"lastModified": 1767025318,
|
||||||
"narHash": "sha256-hA+NOH8KDcsuvH7vJqSwk74PyZP3MtvI/l+CggZcnTc=",
|
"narHash": "sha256-i68miKHGdueWggcDAF+Kca9g6S3ipkW629XbMpQYfn0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-eval-jobs",
|
"repo": "nix-eval-jobs",
|
||||||
"rev": "daa42f9e9c84aeff1e325dd50fda321f53dfd02c",
|
"rev": "79dd7adbb5f75b08fb4b9bddd712ebc52baa46bc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "v2.32.1",
|
"ref": "v2.33.0",
|
||||||
"repo": "nix-eval-jobs",
|
"repo": "nix-eval-jobs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768129980,
|
"lastModified": 1768332487,
|
||||||
"narHash": "sha256-QJ4xDnLGWTz6r844qXcfBYE14FX00PU7+BJthwJpiQQ=",
|
"narHash": "sha256-Q0bSMhDIhb/S7r+XRyuPy58kEXa0rmpw5j99ubJzovg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3bb0067937fe6c1adec9068b9ba24b1adc8defae",
|
"rev": "6b0609442afc4ce51ff1466e7db555c2e2fc28d4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -4,13 +4,13 @@
|
|||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11-small";
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11-small";
|
||||||
|
|
||||||
inputs.nix = {
|
inputs.nix = {
|
||||||
url = "github:NixOS/nix/2.32-maintenance";
|
url = "github:NixOS/nix/2.33-maintenance";
|
||||||
# We want to control the deps precisely
|
# We want to control the deps precisely
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs.nix-eval-jobs = {
|
inputs.nix-eval-jobs = {
|
||||||
url = "github:nix-community/nix-eval-jobs/v2.32.1";
|
url = "github:nix-community/nix-eval-jobs/v2.33.0";
|
||||||
# We want to control the deps precisely
|
# We want to control the deps precisely
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ static BuildResult performBuild(
|
|||||||
auto drvOutput = DrvOutput { outputHash, outputName };
|
auto drvOutput = DrvOutput { outputHash, outputName };
|
||||||
successP->builtOutputs.insert_or_assign(
|
successP->builtOutputs.insert_or_assign(
|
||||||
std::move(outputName),
|
std::move(outputName),
|
||||||
Realisation { drvOutput, *outputPath });
|
Realisation { {.outPath = *outputPath}, drvOutput });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -537,12 +537,12 @@ void State::notifyBuildFinished(pqxx::work & txn, BuildID buildId,
|
|||||||
|
|
||||||
std::shared_ptr<PathLocks> State::acquireGlobalLock()
|
std::shared_ptr<PathLocks> State::acquireGlobalLock()
|
||||||
{
|
{
|
||||||
Path lockPath = hydraData + "/queue-runner/lock";
|
auto lockPath = std::filesystem::path(hydraData) / "queue-runner/lock";
|
||||||
|
|
||||||
createDirs(dirOf(lockPath));
|
createDirs(lockPath.parent_path());
|
||||||
|
|
||||||
auto lock = std::make_shared<PathLocks>();
|
auto lock = std::make_shared<PathLocks>();
|
||||||
if (!lock->lockPaths(PathSet({lockPath}), "", false)) return 0;
|
if (!lock->lockPaths({lockPath}, "", false)) return 0;
|
||||||
|
|
||||||
return lock;
|
return lock;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "state.hh"
|
#include "state.hh"
|
||||||
#include "hydra-build-result.hh"
|
#include "hydra-build-result.hh"
|
||||||
|
#include <nix/store/derived-path.hh>
|
||||||
#include <nix/store/globals.hh>
|
#include <nix/store/globals.hh>
|
||||||
#include <nix/store/parsed-derivations.hh>
|
#include <nix/store/parsed-derivations.hh>
|
||||||
#include <nix/util/thread-pool.hh>
|
#include <nix/util/thread-pool.hh>
|
||||||
@@ -487,24 +488,24 @@ Step::ptr State::createStep(ref<Store> destStore,
|
|||||||
it's not runnable yet, and other threads won't make it
|
it's not runnable yet, and other threads won't make it
|
||||||
runnable while step->created == false. */
|
runnable while step->created == false. */
|
||||||
step->drv = std::make_unique<Derivation>(localStore->readDerivation(drvPath));
|
step->drv = std::make_unique<Derivation>(localStore->readDerivation(drvPath));
|
||||||
{
|
DerivationOptions<nix::SingleDerivedPath> drvOptions;
|
||||||
try {
|
try {
|
||||||
step->drvOptions = std::make_unique<DerivationOptions>(
|
drvOptions = derivationOptionsFromStructuredAttrs(
|
||||||
DerivationOptions::fromStructuredAttrs(
|
*localStore,
|
||||||
step->drv->env,
|
step->drv->inputDrvs,
|
||||||
step->drv->structuredAttrs ? &*step->drv->structuredAttrs : nullptr));
|
step->drv->env,
|
||||||
} catch (Error & e) {
|
get(step->drv->structuredAttrs));
|
||||||
e.addTrace({}, "while parsing derivation '%s'", localStore->printStorePath(drvPath));
|
} catch (Error & e) {
|
||||||
throw;
|
e.addTrace({}, "while parsing derivation '%s'", localStore->printStorePath(drvPath));
|
||||||
}
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
step->preferLocalBuild = step->drvOptions->willBuildLocally(*localStore, *step->drv);
|
step->preferLocalBuild = drvOptions.willBuildLocally(*localStore, *step->drv);
|
||||||
step->isDeterministic = getOr(step->drv->env, "isDetermistic", "0") == "1";
|
step->isDeterministic = getOr(step->drv->env, "isDetermistic", "0") == "1";
|
||||||
|
|
||||||
step->systemType = step->drv->platform;
|
step->systemType = step->drv->platform;
|
||||||
{
|
{
|
||||||
StringSet features = step->requiredSystemFeatures = step->drvOptions->getRequiredSystemFeatures(*step->drv);
|
StringSet features = step->requiredSystemFeatures = drvOptions.getRequiredSystemFeatures(*step->drv);
|
||||||
if (step->preferLocalBuild)
|
if (step->preferLocalBuild)
|
||||||
features.insert("local");
|
features.insert("local");
|
||||||
if (!features.empty()) {
|
if (!features.empty()) {
|
||||||
|
|||||||
@@ -172,7 +172,6 @@ struct Step
|
|||||||
|
|
||||||
nix::StorePath drvPath;
|
nix::StorePath drvPath;
|
||||||
std::unique_ptr<nix::Derivation> drv;
|
std::unique_ptr<nix::Derivation> drv;
|
||||||
std::unique_ptr<nix::DerivationOptions> drvOptions;
|
|
||||||
nix::StringSet requiredSystemFeatures;
|
nix::StringSet requiredSystemFeatures;
|
||||||
bool preferLocalBuild;
|
bool preferLocalBuild;
|
||||||
bool isDeterministic;
|
bool isDeterministic;
|
||||||
|
|||||||
Reference in New Issue
Block a user