Skip to content

Support for multiple separate build processes #198

@Atemu

Description

@Atemu

Deployment tools such as https://github.com/zhaofengli/colmena/ might run multiple nix-build processes at once and interleave their output in the standard operation mode which makes integration with nom hard.

My idea on how to improve this situation is that programs could pass multiple file descriptors to nom; one for each nix-build output. This way nom should be able to at least parse the outputs correctly.

I assume the difficulty would then lie in combining the information of multiple separate builds into one view but that sounds like a much easier problem to solve.

Perhaps it'd also be useful to have the "calling" tools provide nom with additional information about these build processes such as a tag. In the case of a deployment tool, the tag might be the target machine hostname and/or the host it's being built on. Though thinking about this some more, I'm not sure this could be useful for anything other than the hostname the build should be accounted towards but I haven't thought too much about this yet.

Separate build processes may use the same remote builders/hosts internally; possibly even for the same drvs. The least confusing behaviour here IMV would be to have those combined and deduplicated into one host.

Technically, you could even make use of this feature using your shell. I.e. something like this:

nom --build-process localhost:<(nix-build …) --build-process myothermachine:<(nix-build … --store …)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestintegrationAll issues of making nom more compatible with different nix commands and the ecosystem

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions