我对 hydra 有一些不完全清楚的事情。以下作业集:
{ nixpkgs ? import <nixpkgs>
{ config.allowUnfree = true;
config.allowBroken = true;
}
, my_package ? path/to/package/default.nix ## working expr
}:
let
jobs = {
jobA = import ../path/to/jobA/default.nix {inherit my_package;};
};
in
jobs
有 2 个构建输入:
- ciSrc
- nixpkgs
评估没有错误,然后被构建。
但是,当我将工作 expr更改为:
my_package ? import <my_package> ## problematic expr
并添加第三个构建输入:
- my_package, 本地路径, path/to/package/default.nix
我收到以下错误:
hydra-eval-jobs returned exit code 1:
error: undefined variable 'foo' at /nix/store/somehash-my_package/.../default.nix:61:11
(use '--show-trace' to show detailed location information)
为什么我会得到它?我在这里想念什么?
我的 NIX_PATH 包含<nixpkgs>
有效的和<my_package>
无效的。这是我所做的唯一会产生错误的更改。
顺便说一句,这两个版本都是由 nix-build 构建的,正如同一台机器上的hydra 手册 和 hydra 使用的同一用户所推荐的那样。
任何人都可以阐明它吗?