NixOS / hydra

Hydra, the Nix-based continuous build system
http://nixos.org/hydra
GNU General Public License v3.0
1.16k stars 298 forks source link

Declarative Jobsets does not work with distributed builds. #381

Open utdemir opened 8 years ago

utdemir commented 8 years ago

Hi.

I was using declarative jobsets happily, until I added some build slaves. Now jobsets job has evaluation error:

read_file '/nix/store/vgc5f99iw8kj7qsd95kxi14w4wjggqjp-spec.json-jobsets' - sysopen: No such file or directory at /nix/store/5vvcb1giwfvdjhl2gd3z7k9k3pwyj25a-hydra-2016-04-15/libexec/hydra/lib/Hydra/Helper/AddBuilds.pm line 514.

The mentioned path does not exist on hydra's machine, but it does exist on one of our build machines. I guess when the job builds on a remote machine, it does not fetch the resulting path.

utdemir commented 8 years ago

cc @shlevy

shlevy commented 8 years ago

Thanks! What version of hydra + nix?

@edolstra Any thoughts on how this can work in the new nix regime? Using FSAccessor from perl sounds miserable...

utdemir commented 8 years ago

@shlevy

Hydra is from @expipiplus1 's GithubAPIInput PR with one additional patch to make it compile. Sorry for outdated revisions, but we couldn't make it compile with newer revisions.

Nix is 1.11.2.

utdemir commented 8 years ago

@shlevy We managed to make it work via setting preferLocalBuilds=true in jobsets derivation, and adding localhost as a build machine with mandatoryFeatures=["local"].

expipiplus1 commented 8 years ago

I've been running with declarative builds and distributed builds without a problem. Could this have been introduced recently? What do you mean by "new nix regime", @shlevy?