diff options
-rw-r--r-- | shared/2configs/shared-buildbot.nix | 65 |
1 files changed, 45 insertions, 20 deletions
diff --git a/shared/2configs/shared-buildbot.nix b/shared/2configs/shared-buildbot.nix index ebf5f4a..b474af7 100644 --- a/shared/2configs/shared-buildbot.nix +++ b/shared/2configs/shared-buildbot.nix @@ -7,6 +7,11 @@ # TODO for all users schedule a build for fast tests { + # due to the fact that we actually build stuff on the box via the daemon, + # /nix/store should be cleaned up automatically as well + nix.gc.automatic = true; + nix.gc.dates = "05:23"; + networking.firewall.allowedTCPPorts = [ 8010 9989 ]; krebs.buildbot.master = let stockholm-mirror-url = http://cgit.wolf/stockholm-mirror ; @@ -27,7 +32,7 @@ force-scheduler = '' sched.append(schedulers.ForceScheduler( name="force", - builderNames=["full-tests","fast-tests"])) + builderNames=["full-tests","fast-tests","build-local"])) ''; fast-tests-scheduler = '' # test everything real quick @@ -35,7 +40,7 @@ ## all branches change_filter=util.ChangeFilter(branch_re=".*"), # treeStableTimer=10, - name="fast-test-all-branches", + name="fast-all-branches", builderNames=["fast-tests"])) ''; test-cac-infest-master = '' @@ -51,8 +56,8 @@ change_filter=util.ChangeFilter(branch="master"), fileIsImportant=shared_files, treeStableTimer=60*60, # master was stable for the last hour - name="full-master-test", - builderNames=["full-tests"])) + name="full-master", + builderNames=["full-tests","build-local"])) ''; }; builder_pre = '' @@ -69,7 +74,7 @@ # SSL_CERT_FILE,LOGNAME,NIX_REMOTE nixshell = ["nix-shell", "-I", "stockholm=.", - "-I", "nixpkgs=/var/src/upstream-nixpkgs", + "-I", "nixpkgs=/var/src/nixpkgs", "-p" ] + deps + [ "--run" ] # prepare addShell function @@ -90,26 +95,46 @@ addShell(f,name="instantiate-test-all-modules",env=env, command=nixshell + \ ["touch retiolum.rsa_key.priv; \ - nix-instantiate --eval -A \ - users.shared.test-all-krebs-modules.system \ - -I stockholm=. \ - --show-trace \ - -I secrets=. '<stockholm>' \ - --strict --json"]) - - addShell(f,name="instantiate-test-minimal-deploy",env=env, + nix-instantiate \ + --show-trace --eval --strict --json \ + -I nixos-config=./shared/1systems/test-all-krebs-modules.nix \ + -I secrets=. \ + -A config.system.build.toplevel"] + ) + + addShell(f,name="build-test-minimal",env=env, command=nixshell + \ - ["nix-instantiate --eval -A \ - users.shared.test-minimal-deploy.system \ - -I stockholm=. \ - -I secrets=. '<stockholm>' \ - --show-trace \ - --strict --json"]) + ["nix-instantiate \ + --show-trace --eval --strict --json \ + -I nixos-config=./shared/1systems/test-minimal-deploy.nix \ + -I secrets=. \ + -A config.system.build.toplevel"] + ) bu.append(util.BuilderConfig(name="fast-tests", slavenames=slavenames, factory=f)) ''; + # this build will try to build against local nixpkgs + # TODO change to do a 'local' populate and use the retrieved nixpkgs + build-local = '' + f = util.BuildFactory() + f.addStep(grab_repo) + + addShell(f,name="build-test-all-modules",env=env, + command=nixshell + \ + ["touch retiolum.rsa_key.priv; \ + nix-build \ + --show-trace --no-out-link \ + -I nixos-config=./shared/1systems/test-all-krebs-modules.nix \ + -I secrets=. \ + -A config.system.build.toplevel"] + ) + + bu.append(util.BuilderConfig(name="build-local", + slavenames=slavenames, + factory=f)) + ''; slow-tests = '' s = util.BuildFactory() s.addStep(grab_repo) @@ -151,6 +176,6 @@ packages = with pkgs;[ git nix ]; # all nix commands will need a working nixpkgs installation extraEnviron = { - NIX_PATH="nixpkgs=/var/src/upstream-nixpkgs:nixos-config=./shared/1systems/wolf.nix"; }; + NIX_PATH="nixpkgs=/var/src/nixpkgs:nixos-config=./shared/1systems/wolf.nix"; }; }; } |