Description
Since some update in the last week or so, I've noticed that the way we used to collect checks and run them in CI has stopped evaluating.
We do something like this to create the attributes for our haskell.nix project.
project = haskell.nix.cabalProject {...};
shell = project.shellFor {...};
localPackages = haskell-nix.haskellLib.selectLocalPackages project;
checks = haskell-nix.haskellLib.collectChecks' localPackages;
Then, in our top-level flake.nix
, we add checks
to the flake's output attributes, and also to the hydraJobs
attribute. This has worked great in the past -- our Hydra will automatically build and check the tests for any haskell.nix projects in our flake.
However, sometime recently, we started getting this during evaluation:
in job ‘checks.x86_64-linux.hackworth-ops’:
error: attribute 'args' missing
at /nix/store/gbciv76pl76qizp3rv1qara7hr617q2q-source/overlays/haskell.nix:655:30:
654| # Default shell
655| shell = shellFor rawProject.args.shell;
| ^
656|
This happens both on the Hydra and if we do a nix flake check
from the command line.
It's possible this started after c3841b4, but we don't build our haskell.nix projects nightly, so I'm not certain. It definitely started sometime in the last week. I can do a bit of bisecting if it helps, but I thought maybe someone would see this and instantly know what's going on.