about summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2023-12-26 15:57:49 +0100
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2023-12-28 00:26:13 +0000
commit9dbaa79fb2e51ef2d165109314987a5f5c1cb198 (patch)
treecff676106cfdfcb42e59e84dfede0ed1b17e47b1 /nixos/lib
parent6db1324e4c9f702631a0dfe11b10189485af9fc0 (diff)
nixos/lib/make-disk-image: Create build products metadata
For hydra to expose built images for direct download, listing the
relevant files in nix-support/hydra-build-products is required.

(cherry picked from commit 0392a075113e55b636018f45d9c9e5e8981e5156)
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/make-disk-image.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index e5d82f4de7c9d..1a33abd01ea18 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -522,11 +522,16 @@ let format' = format; in let
     chmod 0644 $efiVars
   '';
 
+  createHydraBuildProducts = ''
+    mkdir -p $out/nix-support
+    echo "file ${format}-image $out/${filename}" >> $out/nix-support/hydra-build-products
+  '';
+
   buildImage = pkgs.vmTools.runInLinuxVM (
     pkgs.runCommand name {
       preVM = prepareImage + lib.optionalString touchEFIVars createEFIVars;
       buildInputs = with pkgs; [ util-linux e2fsprogs dosfstools ];
-      postVM = moveOrConvertImage + postVM;
+      postVM = moveOrConvertImage + createHydraBuildProducts + postVM;
       QEMU_OPTS =
         concatStringsSep " " (lib.optional useEFIBoot "-drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}"
         ++ lib.optionals touchEFIVars [
@@ -616,5 +621,5 @@ let format' = format; in let
 in
   if onlyNixStore then
     pkgs.runCommand name {}
-      (prepareImage + moveOrConvertImage + postVM)
+      (prepareImage + moveOrConvertImage + createHydraBuildProducts + postVM)
   else buildImage