liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

ci.nix (1079B)


      1 let
      2   pkgs = import <nixpkgs> { };
      3   liminix = <liminix>;
      4   borderVmConf = ./bordervm.conf-example.nix;
      5   inherit (pkgs.lib.attrsets) genAttrs;
      6   devices = [
      7     "gl-ar750"
      8     "gl-mt300a"
      9     "gl-mt300n-v2"
     10     "qemu"
     11     "qemu-aarch64"
     12     "qemu-armv7l"
     13     "tp-archer-ax23"
     14     "openwrt-one"
     15     "zyxel-nwa50ax"
     16     "turris-omnia"
     17     "belkin-rt3200"
     18   ];
     19   vanilla = ./vanilla-configuration.nix;
     20   for-device =
     21     name:
     22     (import liminix {
     23       inherit borderVmConf;
     24       device = import (liminix + "/devices/${name}");
     25       liminix-config = vanilla;
     26     }).outputs.default;
     27   tests = import ./tests/ci.nix;
     28   jobs =
     29     (genAttrs devices for-device)
     30     // tests
     31     // {
     32       buildEnv =
     33         (import liminix {
     34           inherit borderVmConf;
     35           device = import (liminix + "/devices/qemu");
     36           liminix-config = vanilla;
     37         }).buildEnv;
     38       doc = pkgs.callPackage ./doc.nix { inherit liminix borderVmConf; } ;
     39     };
     40 in
     41 jobs
     42 // {
     43   all = pkgs.mkShell {
     44     name = "all tests";
     45     contents = pkgs.lib.collect pkgs.lib.isDerivation jobs;
     46   };
     47 }