1
0
liminix/ci.nix

48 lines
1.1 KiB
Nix
Raw Normal View History

2023-02-05 22:38:21 +00:00
let
pkgs = import <nixpkgs> { };
liminix = <liminix>;
borderVmConf = ./bordervm.conf-example.nix;
2023-02-05 22:38:21 +00:00
inherit (pkgs.lib.attrsets) genAttrs;
devices = [
2024-02-21 19:49:14 +00:00
"gl-ar750"
"gl-mt300a"
"gl-mt300n-v2"
"qemu"
"qemu-aarch64"
"qemu-armv7l"
2024-01-30 10:23:29 +00:00
"tp-archer-ax23"
"openwrt-one"
"zyxel-nwa50ax"
2024-12-19 20:56:05 +00:00
"turris-omnia"
2025-01-03 15:39:08 +00:00
"belkin-rt3200"
];
2023-02-05 22:38:21 +00:00
vanilla = ./vanilla-configuration.nix;
for-device =
name:
2023-02-05 22:38:21 +00:00
(import liminix {
inherit borderVmConf;
2023-02-05 22:38:21 +00:00
device = import (liminix + "/devices/${name}");
liminix-config = vanilla;
2023-02-05 22:38:21 +00:00
}).outputs.default;
tests = import ./tests/ci.nix;
jobs =
(genAttrs devices for-device)
// tests
// {
buildEnv =
(import liminix {
inherit borderVmConf;
device = import (liminix + "/devices/qemu");
liminix-config = vanilla;
}).buildEnv;
doc = pkgs.callPackage ./doc.nix { inherit liminix borderVmConf; } ;
2023-02-05 22:38:21 +00:00
};
in
jobs
// {
all = pkgs.mkShell {
name = "all tests";
contents = pkgs.lib.collect pkgs.lib.isDerivation jobs;
};
}