zhaofengli/colmena

colmena with streaming evaluator breaks in a dirty git tree if nix 2.17 is installed

Opened this issue · 1 comments

colmena on latest master fails to evaluate a flake-based deployment using the streaming evaluator if the deployment is in a dirty git repository and Nix 2.17.0 is installed with the following error:

$ nix develop

[ma27@carsten:~/Projects/mf-admin/colmena-playground]$ colmena build -v --evaluator streaming --eval-node-limit 4 --on node
warning: Git tree '/home/ma27/Projects/mf-admin/colmena-playground' is dirty
[INFO ] Using flake: git+file:///home/ma27/Projects/mf-admin/colmena-playground
[INFO ] Enumerating nodes...
[INFO ] Selected all 1 nodes.
[WARN ] Streaming evaluation is an experimental feature
 node | Evaluating node
 node | warning: unknown setting 'allowed-users'
 node | warning: unknown setting 'trusted-users'
 node | warning: `--gc-roots-dir' not specified
 node | error:
 node |        … while calling the 'getFlake' builtin
 node | 
 node |          at «string»:1:29:
 node | 
 node |             1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
 node |              |                             ^
 node | 
 node |        … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
 node | 
 node |        error: unsupported Git input attribute 'dirtyRev'
 node | error:
 node |        … while calling the 'getFlake' builtin
 node | 
 node |          at «string»:1:29:
 node | 
 node |             1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
 node |              |                             ^
 node | 
 node |        … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
 node | 
 node |        error: unsupported Git input attribute 'dirtyRev'
 node | error:
 node |        … while calling the 'getFlake' builtin
 node | 
 node |          at «string»:1:29:
 node | 
 node |             1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
 node |              |                             ^
 node | 
 node |        … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
 node | 
 node |        error: unsupported Git input attribute 'dirtyRev'
 node | error:
 node |        … while calling the 'getFlake' builtin
 node | 
 node |          at «string»:1:29:
 node | 
 node |             1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
 node |              |                             ^
 node | 
 node |        … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
 node | 
 node |        error: unsupported Git input attribute 'dirtyRev'
 node | error: worker error: error:
 node |               … while calling the 'getFlake' builtin
 node | 
 node |                 at «string»:1:29:
 node | 
 node |                    1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
 node |                     |                             ^
 node | 
 node |               … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
 node | 
 node |               error: unsupported Git input attribute 'dirtyRev'
 node | Evaluation failed: Child process exited with error code: 1
      | Failed: Child process exited with error code: 1
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR]  failure) Child process exited with error code: 1
[ERROR] Failed to evaluate node - Last 20 lines of logs:
[ERROR]   stderr)          at «string»:1:29:
[ERROR]   stderr) 
[ERROR]   stderr)             1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
[ERROR]   stderr)              |                             ^
[ERROR]   stderr) 
[ERROR]   stderr)        … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
[ERROR]   stderr) 
[ERROR]   stderr)        error: unsupported Git input attribute 'dirtyRev'
[ERROR]   stderr) error: worker error: error:
[ERROR]   stderr)               … while calling the 'getFlake' builtin
[ERROR]   stderr) 
[ERROR]   stderr)                 at «string»:1:29:
[ERROR]   stderr) 
[ERROR]   stderr)                    1| with builtins; let assets = getFlake "path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D"; hive = assets.processFlake; in  hive.evalSelected (builtins.fromJSON "["node"]"]")
[ERROR]   stderr)                     |                             ^
[ERROR]   stderr) 
[ERROR]   stderr)               … while updating the lock file of flake 'path:/tmp/nix-shell.AmRoQI/colmena-assets-1Bafie?lastModified=1691856987&narHash=sha256-33ifKhRvu%2B6ddhsw7O2kBJdMgRkASUKT4QqceoK7gNY%3D'
[ERROR]   stderr) 
[ERROR]   stderr)               error: unsupported Git input attribute 'dirtyRev'
[ERROR]  failure) Child process exited with error code: 1
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 1
Hint: Backtrace available - Use `RUST_BACKTRACE=1` environment variable to display a backtrace

A minimal reproducer for the problem can be found at https://gist.github.com/Ma27/315c6ceffcf3174052d169d8057f4e09#file-readme-md.

i've been running into this for a bit too... pretty sure it predates nix version 2.17