feat(ops/pipelines): Dynamically generate CI pipeline from targets
Create the pipeline by outputting a file that contains nix-build invocations for each target's *derivation path*. Each invocation has a generated Nix expression passed to it with `-E` which fetches the correct target from the tree while correctly handling targets with strange characters (such as in Go-packages). This makes it possible to run target-level granular pipelines. We're getting somewhere! Change-Id: Ia6946e389dafd1d4926130bb8891446d6e17133b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1855 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
parent
21690c644b
commit
61d2d2d503
6 changed files with 78 additions and 20 deletions
|
|
@ -20,7 +20,7 @@ rec {
|
|||
|
||||
lib.depot = depot;
|
||||
};
|
||||
}) // { __readTree = true; };
|
||||
});
|
||||
|
||||
chupacabra = home ./machines/chupacabra.nix;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ rec {
|
|||
|
||||
chupacabraSystem = (pkgs.nixos {
|
||||
configuration = chupacabra;
|
||||
}).system // { __readTree = true; };
|
||||
}).system;
|
||||
|
||||
rebuilder =
|
||||
let
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ let
|
|||
configuration = lib.fix(config:
|
||||
foldl' lib.recursiveUpdate {} (map (c: c config) configs)
|
||||
);
|
||||
}).system // { __readTree = true; };
|
||||
}).system;
|
||||
|
||||
caseFor = hostname: ''
|
||||
${hostname})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue