Automatic dependency discovery

NixCI automatically discovers build dependencies between flake outputs by default, so that jobs run in the right order.

Synchronous mode

By default, builds can start while dependencies are still being discovered.

Set synchronous to false to start builds while dependencies are still being discovered.

This is useful when you value speed over cost savings.

For example, to enable synchronous dependency discovery, add the following to your nix-ci.nix

{
  dependency-discovery = {
    enable = true;
    synchronous = true;
  };
}

Manually specified build dependencies

You can also specify build dependencies manually . Manually specified dependency edges are merged with automatically discovered dependency edges.

Reference schema

dependency-discovery: # optional
  # Dependency discovery configuration
  # any of
  [ # true: enable dependency discovery (synchronous defaults to False)
    # false: disable dependency discovery
    <boolean>
  , # DependencyDiscovery
    enable: # optional
      # Enable automatic dependency discovery
      # default: True
      <boolean>
    synchronous: # optional
      # Wait for dependency detection to finish before starting builds
      # default: False
      <boolean>
  ]