diff options
author | lassulus <lassulus@lassul.us> | 2021-12-11 12:00:36 +0100 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2021-12-11 12:00:36 +0100 |
commit | f2533d88924feb48834a07c4dc1e82cd21acd025 (patch) | |
tree | 82dded6df026719ef40798849cb1d789aaba0183 | |
parent | 5380a086275bf8aaa1611ac7e1fda3981c0422e6 (diff) |
ci: add gcroots for successful builds
-rw-r--r-- | krebs/3modules/ci.nix | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/krebs/3modules/ci.nix b/krebs/3modules/ci.nix index bb941a1fb..822dbab61 100644 --- a/krebs/3modules/ci.nix +++ b/krebs/3modules/ci.nix @@ -108,8 +108,21 @@ let # create a ShellCommand for each stage and add them to the build stages = self.extract_stages(self.observer.getStdout()) self.build.addStepsAfterCurrentStep([ - steps.ShellCommand(name=stage, command=[stages[stage]]) - for stage in stages + steps.ShellCommand( + name=stage, + env=dict( + build_name = stage, + build_script = stages[stage], + ), + command="${pkgs.writeDash "build.sh" '' + set -xefu + profile=${shell.escape profileRoot}/$build_name + result=$("$build_script") + if [ -n "$result" ]; then + ${pkgs.nix}/bin/nix-env -p "$profile" --set "$result" + fi + ''}", + ) for stage in stages ]) return result |