【发布时间】:2018-05-07 13:08:09
【问题描述】:
我对 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
评估没有错误,然后被构建。
但是,当我将 working 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-manual 所推荐的那样 在 hydra 使用的同一台机器和同一用户上。
谁能解释一下?
【问题讨论】: