arion/nix/ci.nix

44 lines
1.3 KiB
Nix
Raw Normal View History

2019-10-04 18:16:41 +03:00
let
sources = import ./sources.nix;
lib = import (sources."nixpkgs" + "/lib");
inherit (import sources."project.nix" { inherit lib; }) dimension;
in
2019-09-28 17:27:07 +03:00
2019-10-04 18:16:41 +03:00
dimension "Nixpkgs version" {
"nixos-19_03" = {
nixpkgsSource = "nixpkgs";
isReferenceNixpkgs = true;
2019-10-24 20:36:58 +03:00
enableDoc = false;
2019-10-04 18:16:41 +03:00
};
2019-10-04 20:29:09 +03:00
"nixos-19_09" = {
nixpkgsSource = "nixos-19.09";
2019-10-24 20:36:58 +03:00
enableDoc = true;
2019-10-04 20:29:09 +03:00
};
2019-10-04 18:16:41 +03:00
"nixos-unstable" = {
nixpkgsSource = "nixos-unstable";
2019-10-24 20:36:58 +03:00
enableDoc = true;
2019-10-04 18:16:41 +03:00
};
} (
_name: { nixpkgsSource, isReferenceNixpkgs ? false, enableDoc ? true }:
2019-10-04 18:16:41 +03:00
dimension "System" {
"x86_64-linux" = { isReferenceTarget = isReferenceNixpkgs; };
2019-10-26 11:31:45 +03:00
"x86_64-darwin" = { enableNixOSTests = false; };
2019-10-04 18:16:41 +03:00
} (
2019-10-26 11:31:45 +03:00
system: { isReferenceTarget ? false, enableNixOSTests ? true }:
2019-10-04 18:16:41 +03:00
let
pkgs = import ./. { inherit system; nixpkgsSrc = sources.${nixpkgsSource}; };
in
{
2019-10-26 11:31:45 +03:00
inherit (pkgs) arion;
} // lib.optionalAttrs enableNixOSTests {
inherit (pkgs) tests;
2019-10-04 18:16:41 +03:00
} // lib.optionalAttrs enableDoc {
2019-10-24 20:36:58 +03:00
inherit (pkgs) doc doc-options doc-options-check;
} // lib.optionalAttrs isReferenceTarget {
inherit (pkgs.arion-project.haskellPkgs) arion-compose-checked;
2019-10-04 18:16:41 +03:00
}
)
)