From cd72a8c346ca752441327cce4a2e94a2b38055bd Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Tue, 23 Nov 2021 11:31:05 +0100 Subject: [PATCH 1/3] Make docker image downloadable in Hydra UI --- flake.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 01afc23c3..8a90de5e2 100644 --- a/flake.nix +++ b/flake.nix @@ -407,10 +407,18 @@ # docker image with Nix inside dockerImage = nixpkgs.lib.genAttrs linux64BitSystems (system: - import ./docker.nix { + let pkgs = nixpkgsFor.${system}; - tag = version; - }); + image = import ./docker.nix { inherit pkgs; tag = version; }; + in pkgs.runCommand "docker-image-tarball-${version}" + { meta.description = "Docker image with Nix for ${system}"; + } + '' + mkdir -p $out/nix-support + image=$out/image.tar.gz + cp ${image} $image + echo "file binary-dist $image" >> $out/nix-support/hydra-build-products + ''); # Line coverage analysis. coverage = From 52c84c15e5c8b996bcd0c5e13db656769804d05f Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Wed, 24 Nov 2021 09:18:33 +0100 Subject: [PATCH 2/3] Don't copy, to reduce store size --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 8a90de5e2..ba2f2a50c 100644 --- a/flake.nix +++ b/flake.nix @@ -416,7 +416,7 @@ '' mkdir -p $out/nix-support image=$out/image.tar.gz - cp ${image} $image + ln -s ${image} $image echo "file binary-dist $image" >> $out/nix-support/hydra-build-products ''); From e7906ffd0e6e6ec1b6c01d77bf8db446abf6cd51 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Wed, 24 Nov 2021 09:19:29 +0100 Subject: [PATCH 3/3] Add dockerImage to the checks --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index ba2f2a50c..1b98b526e 100644 --- a/flake.nix +++ b/flake.nix @@ -524,6 +524,7 @@ binaryTarball = self.hydraJobs.binaryTarball.${system}; perlBindings = self.hydraJobs.perlBindings.${system}; installTests = self.hydraJobs.installTests.${system}; + dockerImage = self.hydraJobs.dockerImage.${system}; }); packages = forAllSystems (system: {