diff --git a/src/Hydra/lib/Hydra/Controller/Build.pm b/src/Hydra/lib/Hydra/Controller/Build.pm index 0f6dc06f..41f5d52b 100644 --- a/src/Hydra/lib/Hydra/Controller/Build.pm +++ b/src/Hydra/lib/Hydra/Controller/Build.pm @@ -116,10 +116,10 @@ sub nix : Chained('build') PathPart('nix') CaptureArgs(0) { my $build = $c->stash->{build}; - error($c, "Build cannot be downloaded as a closure or Nix package.") + notFound($c, "Build cannot be downloaded as a closure or Nix package.") if !$build->buildproducts->find({type => "nix-build"}); - error($c, "Path " . $build->outpath . " is no longer available.") + notFound($c, "Path " . $build->outpath . " is no longer available.") unless isValidPath($build->outpath); $c->stash->{storePaths} = [$build->outpath]; diff --git a/src/Hydra/lib/Hydra/Controller/Root.pm b/src/Hydra/lib/Hydra/Controller/Root.pm index 8314bfd3..3ede1f10 100644 --- a/src/Hydra/lib/Hydra/Controller/Root.pm +++ b/src/Hydra/lib/Hydra/Controller/Root.pm @@ -552,6 +552,8 @@ sub nix : Chained('/') PathPart('nix') CaptureArgs(0) { my @storePaths = (); foreach my $build (@builds) { + # !!! better do this in getLatestBuilds with a join. + next unless $build->buildproducts->find({type => "nix-build"}); push @storePaths, $build->outpath if isValidPath($build->outpath); }; diff --git a/src/Hydra/lib/Hydra/View/NixManifest.pm b/src/Hydra/lib/Hydra/View/NixManifest.pm index cc4d1ab2..2a147f65 100644 --- a/src/Hydra/lib/Hydra/View/NixManifest.pm +++ b/src/Hydra/lib/Hydra/View/NixManifest.pm @@ -17,7 +17,7 @@ sub process { my $manifest = "version {\n" . - " ManifestVersion: 3\n" . + " ManifestVersion: 4\n" . "}\n"; foreach my $path (@paths) {