From 0c5fbfde85ea4d3576284206ee67c0e4f7edcad3 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Jul 2017 10:29:34 +0200 Subject: [PATCH 1/5] buildbot: bump to new staging --- krebs/5pkgs/simple/buildbot-slave/default.nix | 4 ++-- krebs/5pkgs/simple/buildbot/default.nix | 19 +++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/krebs/5pkgs/simple/buildbot-slave/default.nix b/krebs/5pkgs/simple/buildbot-slave/default.nix index a2a01f685..db61d7c3f 100644 --- a/krebs/5pkgs/simple/buildbot-slave/default.nix +++ b/krebs/5pkgs/simple/buildbot-slave/default.nix @@ -6,8 +6,8 @@ python2Packages.buildPythonApplication (rec { src = fetchFromGitHub { owner = "krebscode"; repo = "buildbot-classic"; - rev = "38b780ee6ceee346686f76eba363d98204b73d24"; - sha256 = "0sn0clrbkdnryyiwhrm8an53k3awwbj6m9cz8zj1jz8qdggd9fff"; + rev = "5b4f5f6f1"; + sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; }; postUnpack = "sourceRoot=\${sourceRoot}/slave"; diff --git a/krebs/5pkgs/simple/buildbot/default.nix b/krebs/5pkgs/simple/buildbot/default.nix index dc9d331a4..5f1081278 100644 --- a/krebs/5pkgs/simple/buildbot/default.nix +++ b/krebs/5pkgs/simple/buildbot/default.nix @@ -13,23 +13,18 @@ with python2Packages; buildPythonApplication (rec { src = fetchFromGitHub { owner = "krebscode"; repo = "buildbot-classic"; - rev = "38b780ee6ceee346686f76eba363d98204b73d24"; - sha256 = "0sn0clrbkdnryyiwhrm8an53k3awwbj6m9cz8zj1jz8qdggd9fff"; + rev = "5b4f5f6f1"; + sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; }; propagatedBuildInputs = - [ twisted dateutil jinja2 sqlalchemy_migrate pathlib + [ twisted dateutil jinja2 sqlalchemy_migrate ] ++ 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' + + # checkPhase = "trial buildbot"; + #doCheck = true; + doCheck = false; postInstall = '' From 4044ac12863b96b9e1983a95f790b50b5039e287 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Jul 2017 10:49:31 +0200 Subject: [PATCH 2/5] mv buildbot{-classic,} --- krebs/3modules/buildbot/master.nix | 2 +- krebs/3modules/buildbot/slave.nix | 4 ++-- .../simple/{buildbot => buildbot-classic}/default.nix | 0 .../default.nix | 9 ++------- 4 files changed, 5 insertions(+), 10 deletions(-) rename krebs/5pkgs/simple/{buildbot => buildbot-classic}/default.nix (100%) rename krebs/5pkgs/simple/{buildbot-slave => buildbot-slave-classic}/default.nix (90%) diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix index 432b93b05..dce3745dc 100644 --- a/krebs/3modules/buildbot/master.nix +++ b/krebs/3modules/buildbot/master.nix @@ -3,7 +3,7 @@ with import ; let - buildbot = pkgs.buildbot; + buildbot = pkgs.buildbot-classic; 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..345d4a3ea 100644 --- a/krebs/3modules/buildbot/slave.nix +++ b/krebs/3modules/buildbot/slave.nix @@ -2,7 +2,7 @@ with import ; let - + pkg = pkgs.buildbot-classic-slave; buildbot-slave-init = pkgs.writeText "buildbot-slave.tac" '' import os @@ -153,7 +153,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/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix similarity index 100% rename from krebs/5pkgs/simple/buildbot/default.nix rename to krebs/5pkgs/simple/buildbot-classic/default.nix diff --git a/krebs/5pkgs/simple/buildbot-slave/default.nix b/krebs/5pkgs/simple/buildbot-slave-classic/default.nix similarity index 90% rename from krebs/5pkgs/simple/buildbot-slave/default.nix rename to krebs/5pkgs/simple/buildbot-slave-classic/default.nix index db61d7c3f..83da05c3f 100644 --- a/krebs/5pkgs/simple/buildbot-slave/default.nix +++ b/krebs/5pkgs/simple/buildbot-slave-classic/default.nix @@ -1,14 +1,9 @@ -{ stdenv, python2Packages, fetchFromGitHub, coreutils }: +{ stdenv, pkgs, python2Packages, fetchFromGitHub, coreutils }: python2Packages.buildPythonApplication (rec { name = "buildbot-slave-classic-2017-07-23"; - src = fetchFromGitHub { - owner = "krebscode"; - repo = "buildbot-classic"; - rev = "5b4f5f6f1"; - sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; - }; + src = pkgs.buildbot-classic.src; postUnpack = "sourceRoot=\${sourceRoot}/slave"; From 8939f22dcd7988f079bea5d4c246dffb83255fac Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Jul 2017 10:54:57 +0200 Subject: [PATCH 3/5] buildbot-slave-classic: take buildbot-classic as argument --- krebs/5pkgs/simple/buildbot-slave-classic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/krebs/5pkgs/simple/buildbot-slave-classic/default.nix b/krebs/5pkgs/simple/buildbot-slave-classic/default.nix index 83da05c3f..0b1ea73a3 100644 --- a/krebs/5pkgs/simple/buildbot-slave-classic/default.nix +++ b/krebs/5pkgs/simple/buildbot-slave-classic/default.nix @@ -1,9 +1,9 @@ -{ stdenv, pkgs, python2Packages, fetchFromGitHub, coreutils }: +{ stdenv, buildbot-classic, python2Packages, fetchFromGitHub, coreutils }: python2Packages.buildPythonApplication (rec { name = "buildbot-slave-classic-2017-07-23"; - src = pkgs.buildbot-classic.src; + src = buildbot-classic.src; postUnpack = "sourceRoot=\${sourceRoot}/slave"; From 17d99bea38bc72f599a157b0e52e954042bb32e2 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 24 Jul 2017 17:36:25 +0200 Subject: [PATCH 4/5] buildbot-slave-classic -> buildbot-classic-slave --- .../default.nix | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename krebs/5pkgs/simple/{buildbot-slave-classic => buildbot-classic-slave}/default.nix (100%) diff --git a/krebs/5pkgs/simple/buildbot-slave-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix similarity index 100% rename from krebs/5pkgs/simple/buildbot-slave-classic/default.nix rename to krebs/5pkgs/simple/buildbot-classic-slave/default.nix From 80d72a7243408cfd1e31011f1f67a03fd4f27cc8 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 25 Jul 2017 15:04:16 +0200 Subject: [PATCH 5/5] buildbot: override sources instead of repackage --- krebs/3modules/buildbot/master.nix | 16 ++++- krebs/3modules/buildbot/slave.nix | 15 ++++- .../simple/buildbot-classic-slave/default.nix | 60 ----------------- .../5pkgs/simple/buildbot-classic/default.nix | 65 ------------------- 4 files changed, 29 insertions(+), 127 deletions(-) delete mode 100644 krebs/5pkgs/simple/buildbot-classic-slave/default.nix delete mode 100644 krebs/5pkgs/simple/buildbot-classic/default.nix diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix index dce3745dc..12c685b82 100644 --- a/krebs/3modules/buildbot/master.nix +++ b/krebs/3modules/buildbot/master.nix @@ -2,8 +2,22 @@ with import ; 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-classic; 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 345d4a3ea..698bf3bcd 100644 --- a/krebs/3modules/buildbot/slave.nix +++ b/krebs/3modules/buildbot/slave.nix @@ -2,7 +2,20 @@ with import ; let - pkg = pkgs.buildbot-classic-slave; + # 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 diff --git a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix b/krebs/5pkgs/simple/buildbot-classic-slave/default.nix deleted file mode 100644 index 0b1ea73a3..000000000 --- a/krebs/5pkgs/simple/buildbot-classic-slave/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv, buildbot-classic, python2Packages, fetchFromGitHub, coreutils }: - -python2Packages.buildPythonApplication (rec { - name = "buildbot-slave-classic-2017-07-23"; - - src = buildbot-classic.src; - - 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-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix deleted file mode 100644 index 5f1081278..000000000 --- a/krebs/5pkgs/simple/buildbot-classic/default.nix +++ /dev/null @@ -1,65 +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 = "5b4f5f6f1"; - sha256 = "1j3xn1gjzvsf90jvfmyln71fzlhjx642ivrqf47zfxpkacljja93"; - }; - - propagatedBuildInputs = - [ twisted dateutil jinja2 sqlalchemy_migrate - ] ++ stdenv.lib.optional enableDebugClient [ pygobject pyGtkGlade ]; - postUnpack = "sourceRoot=\${sourceRoot}/master"; - - # checkPhase = "trial buildbot"; - #doCheck = true; - - 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; - }; -})