diff options
| -rw-r--r-- | krebs/3modules/buildbot/master.nix | 16 | ||||
| -rw-r--r-- | krebs/3modules/buildbot/slave.nix | 17 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/buildbot-slave/default.nix | 65 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/buildbot/default.nix | 70 | 
4 files changed, 30 insertions, 138 deletions
| diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix index 432b93b05..12c685b82 100644 --- a/krebs/3modules/buildbot/master.nix +++ b/krebs/3modules/buildbot/master.nix @@ -2,8 +2,22 @@  with import <stockholm/lib>;  let +  # https://github.com/NixOS/nixpkgs/issues/14026 +  nixpkgs-fix = import (pkgs.fetchgit { +    url = https://github.com/nixos/nixpkgs; +    rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; +    sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; +  }) {}; + +  buildbot = nixpkgs-fix.buildbot.overrideDerivation (old: {  +  postUnpack = "sourceRoot=\${sourceRoot}/master"; +  patches = []; +  src = pkgs.fetchFromGitHub {  +    owner = "krebscode"; +    repo = "buildbot-classic"; +    rev = "5b4f5f6f1"; +    sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; };}); -  buildbot = pkgs.buildbot;    buildbot-master-config = pkgs.writeText "buildbot-master.cfg" ''      # -*- python -*-      from buildbot.plugins import * diff --git a/krebs/3modules/buildbot/slave.nix b/krebs/3modules/buildbot/slave.nix index e93c190dc..698bf3bcd 100644 --- a/krebs/3modules/buildbot/slave.nix +++ b/krebs/3modules/buildbot/slave.nix @@ -2,7 +2,20 @@  with import <stockholm/lib>;  let - +  # https://github.com/NixOS/nixpkgs/issues/14026 +  nixpkgs-fix = import (pkgs.fetchgit { +    url = https://github.com/nixos/nixpkgs; +    rev = "e026b5c243ea39810826e68362718f5d703fb5d0"; +    sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8"; +  }) {}; +  pkg = nixpkgs-fix.buildbot-slave.overrideDerivation (old: {  +  postUnpack = "sourceRoot=\${sourceRoot}/slave"; +  patches = []; +  src = pkgs.fetchFromGitHub {  +    owner = "krebscode"; +    repo = "buildbot-classic"; +    rev = "5b4f5f6f1"; +    sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; };});    buildbot-slave-init = pkgs.writeText "buildbot-slave.tac" ''      import os @@ -153,7 +166,7 @@ let          workdir = shell.escape cfg.workDir;          contact = shell.escape cfg.contact;          description = shell.escape cfg.description; -        buildbot = pkgs.buildbot-slave; +        buildbot = pkg;          # TODO:make this        in {          PermissionsStartOnly = true; diff --git a/krebs/5pkgs/simple/buildbot-slave/default.nix b/krebs/5pkgs/simple/buildbot-slave/default.nix deleted file mode 100644 index a2a01f685..000000000 --- a/krebs/5pkgs/simple/buildbot-slave/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ stdenv, python2Packages, fetchFromGitHub, coreutils }: - -python2Packages.buildPythonApplication (rec { -  name = "buildbot-slave-classic-2017-07-23"; - -  src = fetchFromGitHub { -    owner = "krebscode"; -    repo = "buildbot-classic"; -    rev = "38b780ee6ceee346686f76eba363d98204b73d24"; -    sha256 = "0sn0clrbkdnryyiwhrm8an53k3awwbj6m9cz8zj1jz8qdggd9fff"; -  }; - -  postUnpack = "sourceRoot=\${sourceRoot}/slave"; - -  propagatedBuildInputs = with python2Packages; [ twisted pathlib ]; - -  # What's up with this?! 'trial' should be 'test', no? -  # -  # running tests -  # usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] -  #    or: setup.py --help [cmd1 cmd2 ...] -  #    or: setup.py --help-commands -  #    or: setup.py cmd --help -  # -  # error: invalid command 'trial' -  doCheck = false; - -  postInstall = '' -    mkdir -p "$out/share/man/man1" -    cp docs/buildslave.1 "$out/share/man/man1" -  ''; - -  meta = with stdenv.lib; { -    homepage = http://buildbot.net/; - -    license = stdenv.lib.licenses.gpl2Plus; - -    description = "Continuous integration system that automates the build/test cycle"; - -    longDescription = -      '' The BuildBot is a system to automate the compile/test cycle -         required by most software projects to validate code changes.  By -         automatically rebuilding and testing the tree each time something -         has changed, build problems are pinpointed quickly, before other -         developers are inconvenienced by the failure.  The guilty -         developer can be identified and harassed without human -         intervention.  By running the builds on a variety of platforms, -         developers who do not have the facilities to test their changes -         everywhere before checkin will at least know shortly afterwards -         whether they have broken the build or not.  Warning counts, lint -         checks, image size, compile time, and other build parameters can -         be tracked over time, are more visible, and are therefore easier -         to improve. - -         The overall goal is to reduce tree breakage and provide a platform -         to run tests or code-quality checks that are too annoying or -         pedantic for any human to waste their time with.  Developers get -         immediate (and potentially public) feedback about their changes, -         encouraging them to be more careful about testing before checking -         in code. -      ''; -    maintainers = with maintainers; [ bjornfor ]; -    platforms = platforms.all; -  }; -}) diff --git a/krebs/5pkgs/simple/buildbot/default.nix b/krebs/5pkgs/simple/buildbot/default.nix deleted file mode 100644 index dc9d331a4..000000000 --- a/krebs/5pkgs/simple/buildbot/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ stdenv, python2Packages, fetchFromGitHub -, enableDebugClient ? false -}: - -# enableDebugClient enables "buildbot debugclient", a Gtk-based debug control -# panel. Its mostly for developers. - -assert enableDebugClient -> python2Packages.pygobject != null && python2Packages.pyGtkGlade != null; - -with python2Packages; buildPythonApplication (rec { -  name = "buildbot-classic-2017-07-23"; - -  src = fetchFromGitHub { -    owner = "krebscode"; -    repo = "buildbot-classic"; -    rev = "38b780ee6ceee346686f76eba363d98204b73d24"; -    sha256 = "0sn0clrbkdnryyiwhrm8an53k3awwbj6m9cz8zj1jz8qdggd9fff"; -  }; - -  propagatedBuildInputs = -    [ twisted dateutil jinja2 sqlalchemy_migrate pathlib -    ] ++ stdenv.lib.optional enableDebugClient [ pygobject pyGtkGlade ]; -  postUnpack = "sourceRoot=\${sourceRoot}/master"; -  # What's up with this?! 'trial' should be 'test', no? -  # -  # running tests -  # usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] -  #    or: setup.py --help [cmd1 cmd2 ...] -  #    or: setup.py --help-commands -  #    or: setup.py cmd --help -  # -  # error: invalid command 'trial' -  doCheck = false; - -  postInstall = '' -    mkdir -p "$out/share/man/man1" -    cp docs/buildbot.1 "$out/share/man/man1" -  ''; - -  meta = with stdenv.lib; { -    homepage = http://buildbot.net/; -    license = stdenv.lib.licenses.gpl2Plus; -    # Of course, we don't really need that on NixOS.  :-) -    description = "Continuous integration system that automates the build/test cycle"; -    longDescription = -      '' The BuildBot is a system to automate the compile/test cycle -         required by most software projects to validate code changes.  By -         automatically rebuilding and testing the tree each time something -         has changed, build problems are pinpointed quickly, before other -         developers are inconvenienced by the failure.  The guilty -         developer can be identified and harassed without human -         intervention.  By running the builds on a variety of platforms, -         developers who do not have the facilities to test their changes -         everywhere before checkin will at least know shortly afterwards -         whether they have broken the build or not.  Warning counts, lint -         checks, image size, compile time, and other build parameters can -         be tracked over time, are more visible, and are therefore easier -         to improve. - -         The overall goal is to reduce tree breakage and provide a platform -         to run tests or code-quality checks that are too annoying or -         pedantic for any human to waste their time with.  Developers get -         immediate (and potentially public) feedback about their changes, -         encouraging them to be more careful about testing before checking -         in code. -      ''; -    maintainers = with maintainers; [ bjornfor ]; -    platforms = platforms.all; -  }; -}) | 
