ITADN

buildbot-effects doesn't handle runIf from hercules-ci-effects correctly

#566Closedmultivac61 创建于 2026-02-01
M
multivac61commented
## Description When using `hci-effects.runIf` with `buildbot-effects`, the effect runner fails because it concatenates multiple derivation paths with newlines instead of handling them separately. ## Example flake.nix ```nix herculesCI = herculesCI: { onPush.default.outputs.effects = { deploy = hci-effects.runIf (herculesCI.branch == "master") ( hci-effects.runNixOS { configuration = ...; # ... } ); }; }; ``` ## Error ``` error: getting status of '/nix/store/...-nixos-system-....drv /nix/store/...-effect-nixos-....drv': No such file or directory subprocess.CalledProcessError: Command '['nix', ..., 'derivation', 'show', '/nix/store/...-nixos-system-....drv\n/nix/store/...-effect-....drv^*']' returned non-zero exit status 1. ``` The derivation paths are being joined with `\n` and passed as a single argument to `nix derivation show`. ## Workaround Use if/else instead of `runIf`: ```nix if herculesCI.branch == "master" then { deploy = ...; } else { } ``` ## Expected behavior `runIf` should work as documented in hercules-ci-effects.
关闭于 2026-02-02 1 条评论