Closes: https://b.tvl.fyi/issues/401 With this change all crate features (and their combinations) will be built and tested in CI. From now on, when adding/removing a Cargo feature for a crate, you will want to add it to the features power set that gets tested in CI. For each crate there's a default.nix with a `mkFeaturePowerset` invocation, modify the list to include/remove the feature. Note that you don't want to add "collection" features, such as `fs` for tvix-[ca]store or `default`. Change-Id: I966dde1413d057770787da3296cce9c1924570e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11717 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
		
			
				
	
	
		
			16 lines
		
	
	
	
		
			562 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
	
		
			562 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
# TODO: find a way to build the benchmarks via crate2nix
 | 
						|
{ depot, pkgs, lib, ... }:
 | 
						|
 | 
						|
(depot.tvix.crates.workspaceMembers.tvix-eval.build.override {
 | 
						|
  runTests = true;
 | 
						|
 | 
						|
  # Make C++ Nix available, to compare eval results against.
 | 
						|
  testInputs = [ pkgs.nix ];
 | 
						|
}).overrideAttrs (old: rec {
 | 
						|
  meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru);
 | 
						|
  passthru = depot.tvix.utils.mkFeaturePowerset {
 | 
						|
    inherit (old) crateName;
 | 
						|
    features = [ "nix_tests" ];
 | 
						|
    override.testInputs = [ pkgs.nix ];
 | 
						|
  };
 | 
						|
})
 |