ma 1: refactor buildbot config, add documentation

This commit is contained in:
makefu 2016-02-04 16:38:21 +01:00
parent 5be8920fb0
commit 4c23e33dea
2 changed files with 13 additions and 15 deletions

View File

@ -11,7 +11,7 @@ in
../2configs/collectd-base.nix ../2configs/collectd-base.nix
../2configs/shack-nix-cacher.nix ../2configs/shack-nix-cacher.nix
../2configs/shack-drivedroid.nix ../2configs/shack-drivedroid.nix
../2configs/buildbot-standalone.nix ../2configs/shared-buildbot.nix
../2configs/cgit-mirror.nix ../2configs/cgit-mirror.nix
# ../2configs/graphite.nix # ../2configs/graphite.nix
]; ];

View File

@ -1,5 +1,9 @@
{ lib, config, pkgs, ... }: { lib, config, pkgs, ... }:
# The buildbot config is seilf-contained and provides a way to test "shared"
# configuration (infrastructure to be used by every krebsminister).
# You can add your own test, test steps as required. Deploy the config on a
# shared host like wolf and everything should be fine.
{ {
networking.firewall.allowedTCPPorts = [ 8010 9989 ]; networking.firewall.allowedTCPPorts = [ 8010 9989 ];
krebs.buildbot.master = { krebs.buildbot.master = {
@ -59,7 +63,10 @@
"(import <stockholm> {}).pkgs.test.infest-cac-centos7" ] "(import <stockholm> {}).pkgs.test.infest-cac-centos7" ]
# TODO: --pure , prepare ENV in nix-shell command: # TODO: --pure , prepare ENV in nix-shell command:
# SSL_CERT_FILE,LOGNAME,NIX_REMOTE # SSL_CERT_FILE,LOGNAME,NIX_REMOTE
nixshell = ["nix-shell", "-I", "stockholm=.", "-p" ] + deps + [ "--run" ] nixshell = ["nix-shell",
"-I", "stockholm=.",
"-I", "nixpkgs=/var/src/upstream-nixpkgs",
"-p" ] + deps + [ "--run" ]
# prepare addShell function # prepare addShell function
def addShell(factory,**kwargs): def addShell(factory,**kwargs):
@ -69,14 +76,9 @@
fast-tests = '' fast-tests = ''
f = util.BuildFactory() f = util.BuildFactory()
f.addStep(grab_repo) f.addStep(grab_repo)
addShell(f,name="deploy-eval-centos7",env=env, for i in [ "test-centos7", "wolf", "test-failing" ]:
command=nixshell + ["make -s eval get=krebs.deploy filter=json system=test-centos7"]) addShell(f,name="populate-{}".format(i),env=env,
command=nixshell + ["set -o pipefail;{}( nix-instantiate --arg configuration shared/1systems/{}.nix --eval --readonly-mode --show-trace -A config.krebs.build.populate --strict | jq -r .)".format("!" if "failing" in i else "",i)])
addShell(f,name="deploy-eval-wolf",env=env,
command=nixshell + ["make -s eval get=krebs.deploy filter=json system=wolf"])
addShell(f,name="deploy-eval-cross-check",env=env,
command=nixshell + ["! make eval get=krebs.deploy filter=json system=test-failing"])
addShell(f,name="instantiate-test-all-modules",env=env, addShell(f,name="instantiate-test-all-modules",env=env,
command=nixshell + \ command=nixshell + \
@ -86,8 +88,6 @@
-I stockholm=. \ -I stockholm=. \
--show-trace \ --show-trace \
-I secrets=. '<stockholm>' \ -I secrets=. '<stockholm>' \
--argstr current-user-name shared \
--argstr current-host-name lol \
--strict --json"]) --strict --json"])
addShell(f,name="instantiate-test-minimal-deploy",env=env, addShell(f,name="instantiate-test-minimal-deploy",env=env,
@ -97,8 +97,6 @@
-I stockholm=. \ -I stockholm=. \
-I secrets=. '<stockholm>' \ -I secrets=. '<stockholm>' \
--show-trace \ --show-trace \
--argstr current-user-name shared \
--argstr current-host-name lol \
--strict --json"]) --strict --json"])
bu.append(util.BuilderConfig(name="fast-tests", bu.append(util.BuilderConfig(name="fast-tests",
@ -145,6 +143,6 @@
password = "krebspass"; password = "krebspass";
packages = with pkgs;[ git nix ]; packages = with pkgs;[ git nix ];
# all nix commands will need a working nixpkgs installation # all nix commands will need a working nixpkgs installation
extraEnviron = { NIX_PATH="nixpkgs=${toString <nixpkgs>}"; }; extraEnviron = { NIX_PATH="/var/src"; };
}; };
} }