summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2017-07-23 23:53:10 +0200
committerlassulus <lassulus@lassul.us>2017-07-23 23:53:10 +0200
commit5b980c6a3271d8dac507c2c7d34f99ee0ccf9432 (patch)
tree961800253eb65c0b3742d629f8a2e57d5e1ced97
parent6fc6456ed930bf53a191bc7d09552b31bb10556d (diff)
parentf5459736cfbf2f3f23d525887184eadd743e6e91 (diff)
Merge remote-tracking branch 'gum/master'
-rw-r--r--krebs/3modules/buildbot/master.nix9
-rw-r--r--krebs/3modules/buildbot/slave.nix7
-rw-r--r--krebs/5pkgs/simple/buildbot-slave/default.nix65
-rw-r--r--krebs/5pkgs/simple/buildbot/default.nix70
-rw-r--r--makefu/1systems/shoney/config.nix1
5 files changed, 137 insertions, 15 deletions
diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix
index 6c7af6da..432b93b0 100644
--- a/krebs/3modules/buildbot/master.nix
+++ b/krebs/3modules/buildbot/master.nix
@@ -3,14 +3,7 @@
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;
+ 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 932923ae..e93c190d 100644
--- a/krebs/3modules/buildbot/slave.nix
+++ b/krebs/3modules/buildbot/slave.nix
@@ -2,11 +2,6 @@
with import <stockholm/lib>;
let
- nixpkgs-fix = import (pkgs.fetchgit {
- url = https://github.com/nixos/nixpkgs;
- rev = "e026b5c243ea39810826e68362718f5d703fb5d0";
- sha256 = "11lqd480bi6xbi7xbh4krrxmbp6a6iafv1d0q3sj461al0x0has8";
- }) {};
buildbot-slave-init = pkgs.writeText "buildbot-slave.tac" ''
import os
@@ -158,7 +153,7 @@ let
workdir = shell.escape cfg.workDir;
contact = shell.escape cfg.contact;
description = shell.escape cfg.description;
- buildbot = nixpkgs-fix.buildbot-slave;
+ buildbot = pkgs.buildbot-slave;
# TODO:make this
in {
PermissionsStartOnly = true;
diff --git a/krebs/5pkgs/simple/buildbot-slave/default.nix b/krebs/5pkgs/simple/buildbot-slave/default.nix
new file mode 100644
index 00000000..7cf7cd5e
--- /dev/null
+++ b/krebs/5pkgs/simple/buildbot-slave/default.nix
@@ -0,0 +1,65 @@
+{ stdenv, python2Packages, fetchFromGitHub, coreutils }:
+
+python2Packages.buildPythonApplication (rec {
+ name = "buildbot-slave-classic-2017-07-23";
+
+ src = fetchFromGitHub {
+ owner = "krebscode";
+ repo = "buildbot-classic";
+ rev = "7c2826756a00ade7a1d6d20b4e9430710d2bc29e";
+ sha256 = "0za2k5kap6zky304rjknlvm3gyvw0q0p52c3jjmkf708s9gmyfyg";
+ };
+
+ 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
new file mode 100644
index 00000000..5b35a9cd
--- /dev/null
+++ b/krebs/5pkgs/simple/buildbot/default.nix
@@ -0,0 +1,70 @@
+{ 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 = "2ef3315e0ac8f387ab751d02ee68d166909283aa";
+ sha256 = "00amqarknbh1p141h14jw4r8d23ih0xgf1h4jscp76ba340drjfj";
+ };
+
+ 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;
+ };
+})
diff --git a/makefu/1systems/shoney/config.nix b/makefu/1systems/shoney/config.nix
index 6cec260d..ba9d0911 100644
--- a/makefu/1systems/shoney/config.nix
+++ b/makefu/1systems/shoney/config.nix
@@ -14,7 +14,6 @@ in {
<stockholm/makefu/2configs/hw/CAC.nix>
<stockholm/makefu/2configs/fs/CAC-CentOS-7-64bit.nix>
<stockholm/makefu/2configs/tinc/retiolum.nix>
- <stockholm/makefu/2configs/torrent.nix>
];