diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index f54592b6bf6c..f378c312b79f 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -42,6 +42,29 @@
+
+ Backward Incompatibilities
+
+
+ When upgrading from a previous release, please be aware of the following
+ incompatible changes:
+
+
+
+
+
+ Buildbot no longer supports Python 2, as support was dropped upstream in
+ version 2.0.0. Configurations may need to be modified to make them
+ compatible with Python 3.
+
+
+
+
+
waitForUnit("multi-user.target");
- print($gitrepo->execute(" \
- git config --global user.name 'Nobody Fakeuser' && \
- git config --global user.email 'nobody\@fakerepo.com' && \
- rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \
- mkdir -pv /srv/repos/fakerepo ~/.ssh && \
- ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \
- cat ~/.ssh/known_hosts && \
- cd /srv/repos/fakerepo && \
- git init && \
- echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \
- cat fakerepo.sh && \
- touch .git/git-daemon-export-ok && \
- git add fakerepo.sh .git/git-daemon-export-ok && \
- git commit -m fakerepo && \
- git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \
- "));
-
- # Test gitrepo
- $bbmaster->waitForUnit("network-online.target");
- #$bbmaster->execute("nc -z gitrepo 9418");
- print($bbmaster->execute(" \
- rm -rfv /tmp/fakerepo && \
- git clone git://gitrepo/fakerepo /tmp/fakerepo && \
- pwd && \
- ls -la && \
- ls -la /tmp/fakerepo \
- "));
-
- # Test start master and connect worker
- $bbmaster->waitForUnit("buildbot-master.service");
- $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/;
- $bbworker->waitForUnit("network-online.target");
- $bbworker->execute("nc -z bbmaster 8010");
- $bbworker->execute("nc -z bbmaster 9989");
- $bbworker->waitForUnit("buildbot-worker.service");
- print($bbworker->execute("ls -la /home/bbworker/worker"));
-
-
- # Test stop buildbot master and worker
- print($bbmaster->execute(" \
- systemctl -l --no-pager status buildbot-master && \
- systemctl stop buildbot-master \
- "));
- $bbworker->fail("nc -z bbmaster 8010");
- $bbworker->fail("nc -z bbmaster 9989");
- print($bbworker->execute(" \
- systemctl -l --no-pager status buildbot-worker && \
- systemctl stop buildbot-worker && \
- ls -la /home/bbworker/worker \
- "));
-
-
- # Test buildbot daemon mode
- $bbmaster->execute("buildbot create-master /tmp");
- $bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg");
- $bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg");
- $bbmaster->execute("buildbot start /tmp");
- $bbworker->execute("nc -z bbmaster 8011");
- $bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/;
- $bbmaster->execute("buildbot stop /tmp");
- $bbworker->fail("nc -z bbmaster 8011");
-
- '';
-
- meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ];
+ bbworker = { pkgs, ... }: {
+ services.buildbot-worker = {
+ enable = true;
+ masterUrl = "bbmaster:9989";
+ };
+ environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ];
+ };
+ gitrepo = { pkgs, ... }: {
+ services.openssh.enable = true;
+ networking.firewall.allowedTCPPorts = [ 22 9418 ];
+ environment.systemPackages = with pkgs; [ git ];
+ };
};
-in {
- python2 = mkBuildbotTest pkgs.python2;
- python3 = mkBuildbotTest pkgs.python3;
+
+ testScript = ''
+ #Start up and populate fake repo
+ $gitrepo->waitForUnit("multi-user.target");
+ print($gitrepo->execute(" \
+ git config --global user.name 'Nobody Fakeuser' && \
+ git config --global user.email 'nobody\@fakerepo.com' && \
+ rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \
+ mkdir -pv /srv/repos/fakerepo ~/.ssh && \
+ ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \
+ cat ~/.ssh/known_hosts && \
+ cd /srv/repos/fakerepo && \
+ git init && \
+ echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \
+ cat fakerepo.sh && \
+ touch .git/git-daemon-export-ok && \
+ git add fakerepo.sh .git/git-daemon-export-ok && \
+ git commit -m fakerepo && \
+ git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \
+ "));
+
+ # Test gitrepo
+ $bbmaster->waitForUnit("network-online.target");
+ #$bbmaster->execute("nc -z gitrepo 9418");
+ print($bbmaster->execute(" \
+ rm -rfv /tmp/fakerepo && \
+ git clone git://gitrepo/fakerepo /tmp/fakerepo && \
+ pwd && \
+ ls -la && \
+ ls -la /tmp/fakerepo \
+ "));
+
+ # Test start master and connect worker
+ $bbmaster->waitForUnit("buildbot-master.service");
+ $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/;
+ $bbworker->waitForUnit("network-online.target");
+ $bbworker->execute("nc -z bbmaster 8010");
+ $bbworker->execute("nc -z bbmaster 9989");
+ $bbworker->waitForUnit("buildbot-worker.service");
+ print($bbworker->execute("ls -la /home/bbworker/worker"));
+
+
+ # Test stop buildbot master and worker
+ print($bbmaster->execute(" \
+ systemctl -l --no-pager status buildbot-master && \
+ systemctl stop buildbot-master \
+ "));
+ $bbworker->fail("nc -z bbmaster 8010");
+ $bbworker->fail("nc -z bbmaster 9989");
+ print($bbworker->execute(" \
+ systemctl -l --no-pager status buildbot-worker && \
+ systemctl stop buildbot-worker && \
+ ls -la /home/bbworker/worker \
+ "));
+
+
+ # Test buildbot daemon mode
+ $bbmaster->execute("buildbot create-master /tmp");
+ $bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg");
+ $bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg");
+ $bbmaster->execute("buildbot start /tmp");
+ $bbworker->execute("nc -z bbmaster 8011");
+ $bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/;
+ $bbmaster->execute("buildbot stop /tmp");
+ $bbworker->fail("nc -z bbmaster 8011");
+
+ '';
+
+ meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ];
}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index cd98a8da710a..268c08ced848 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
+{ stdenv, lib, buildPythonPackage, /*fetchPypi,*/ fetchFromGitHub, makeWrapper, isPy3k,
python, twisted, jinja2, zope_interface, future, sqlalchemy,
sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
txrequests, txgithub, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial,
- isort, pylint, flake8, buildbot-worker, buildbot-pkg, glibcLocales }:
+ isort, pylint, flake8, buildbot-worker, buildbot-pkg, parameterized,
+ glibcLocales }:
let
withPlugins = plugins: buildPythonPackage {
@@ -24,12 +25,21 @@ let
package = buildPythonPackage rec {
pname = "buildbot";
- version = "1.8.1";
+ version = "2.1.0";
- src = fetchPypi {
+ /*src = fetchPypi {
inherit pname version;
- sha256 = "1zadmyrlk7p9h1akmbzwa7p90s7jwsxvdx4xn9i54dnda450m3a7";
- };
+ sha256 = "1745hj9s0c0fcdjv6w05bma76xqg1fv42v0dslmi4d8yz9phf37w";
+ };*/
+ # Temporarily use GitHub source because PyPi archive is missing some files
+ # needed for the tests to pass. This has been fixed upstream.
+ # See: https://github.com/buildbot/buildbot/commit/30f5927cf9a80f98ed909241a149469dec3ce68d
+ src = fetchFromGitHub {
+ owner = "buildbot";
+ repo = "buildbot";
+ rev = "v${version}";
+ sha256 = "022ybhdvp0hp2z0cwgx7n41jyh56bpxj3fwm4z7ppzj1qhm7lb65";
+ } + "/master";
propagatedBuildInputs = [
# core
@@ -63,6 +73,7 @@ let
flake8
buildbot-worker
buildbot-pkg
+ parameterized
glibcLocales
];
@@ -84,6 +95,8 @@ let
export PATH="$out/bin:$PATH"
'';
+ disabled = !isPy3k;
+
passthru = {
inherit withPlugins;
};
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 480bed2805ee..35524040da99 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "buildbot-pkg";
- version = "1.8.1";
+ version = "2.1.0";
src = fetchPypi {
inherit pname version;
- sha256 = "16gjdzkris6475bvsgvb0v6rkn4xb6f55s468q37n0l1r6n8snc3";
+ sha256 = "03lv97q4pp2izjfbwfv4zmf2fyiz7jyp537bi3gc6rhfbrfgib1i";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 4bcaa965d2f3..2f73fbc81a4f 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -10,7 +10,8 @@
src = fetchPypi {
inherit pname version format;
- sha256 = "03cgjhwpgbm0qgis1cdy9g4vc11hsrya9grcx4j35784rny7lbfl";
+ python = "py3";
+ sha256 = "011sagw8zp1z12vzkxi44w3w2lbxncz5yahkrbxj8hp6iwfzfm5v";
};
meta = with lib; {
@@ -27,7 +28,7 @@
src = fetchPypi {
inherit pname version;
- sha256 = "0pfp2n4ys99jglshdrp2f6jm73c4ym3dfwl6qjvbc7y7nsi74824";
+ sha256 = "11gz4ry1law3l64ii383cj5fnbw9409czp2ybzkqafr4xi1qbk9h";
};
propagatedBuildInputs = [ buildbot-pkg ];
@@ -47,7 +48,7 @@
src = fetchPypi {
inherit pname version;
- sha256 = "0gnxq9niw64q36dm917lhhcl8zp0wjwaamjp07zidnrb5c3pjbsz";
+ sha256 = "0w4iwpj1rg20fbli0ppqz70l1mc9ilg0crq8g3xrf29f9z8d1w27";
};
propagatedBuildInputs = [ buildbot-pkg ];
@@ -67,7 +68,7 @@
src = fetchPypi {
inherit pname version;
- sha256 = "1b06aa8m1pzqq2d8imrq5mazc7llrlbgm7jzi8h6jjd2gahdjgz5";
+ sha256 = "0xyvxamw45qhnfml3x5hfg9nai1jhdwbmq4pm8csf3ad0cw6vqya";
};
propagatedBuildInputs = [ buildbot-pkg ];
@@ -87,7 +88,7 @@
src = fetchPypi {
inherit pname version;
- sha256 = "1v8411bw0cs206vwfnqx1na7dzg77h9aff4wlm11hkbdsy9ayv2d";
+ sha256 = "1szcrx8vslskifzxaq7lrfg2arilaq1w1aqr0nc8pjclj7idp92c";
};
propagatedBuildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 8e49d085fbd1..f888448db218 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -2,11 +2,11 @@
buildPythonPackage (rec {
pname = "buildbot-worker";
- version = "1.8.1";
+ version = "2.1.0";
src = fetchPypi {
inherit pname version;
- sha256 = "1rh73jbyms4b9wgkkdzcn80xfd18p8rn89rw4rsi2002ydrc7n39";
+ sha256 = "14qimaf513h2hklcpix8vscrawvr1qiyn1vy88ycpsbz9mcqbhps";
};
propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 96396acb9e62..864cc7d678c4 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -49,11 +49,11 @@ mapAliases ({
bashCompletion = bash-completion; # Added 2016-09-28
bridge_utils = bridge-utils; # added 2015-02-20
btrfsProgs = btrfs-progs; # added 2016-01-03
- buildbot = pythonPackages.buildbot; # added 2018-10-11
- buildbot-full = pythonPackages.buildbot-full; # added 2018-10-11
- buildbot-pkg = pythonPackages.buildbot-pkg; # added 2018-10-11
- buildbot-ui = pythonPackages.buildbot-ui; # added 2018-10-11
- buildbot-worker = pythonPackages.buildbot-worker; # added 2018-10-11
+ buildbot = python3Packages.buildbot; # added 2018-10-11
+ buildbot-full = python3Packages.buildbot-full; # added 2018-10-11
+ buildbot-pkg = python3Packages.buildbot-pkg; # added 2018-10-11
+ buildbot-ui = python3Packages.buildbot-ui; # added 2018-10-11
+ buildbot-worker = python3Packages.buildbot-worker; # added 2018-10-11
buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
bundler_HEAD = bundler; # added 2015-11-15
cantarell_fonts = cantarell-fonts; # added 2018-03-03