summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/3modules/buildbot/master.nix16
-rw-r--r--krebs/3modules/buildbot/slave.nix15
-rw-r--r--krebs/5pkgs/simple/buildbot-classic-slave/default.nix60
-rw-r--r--krebs/5pkgs/simple/buildbot-classic/default.nix65
4 files changed, 29 insertions, 127 deletions
diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix
index dce3745d..12c685b8 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-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 345d4a3e..698bf3bc 100644
--- a/krebs/3modules/buildbot/slave.nix
+++ b/krebs/3modules/buildbot/slave.nix
@@ -2,7 +2,20 @@
with import <stockholm/lib>;
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 0b1ea73a..00000000
--- 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 5f108127..00000000
--- 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;
- };
-})