From 34c32eed05d74970a07f04906756582167f2c2ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 9 Dec 2024 11:03:30 +0100 Subject: [PATCH 1/4] python3Packages.openstackdocstheme: add missing 'distutils' dependency Fixes the build. And transitively fixes building jenkins-job-builder. --- .../python-modules/openstackdocstheme/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/openstackdocstheme/default.nix b/pkgs/development/python-modules/openstackdocstheme/default.nix index 7391fb37ba7a8..b5206d85d9814 100644 --- a/pkgs/development/python-modules/openstackdocstheme/default.nix +++ b/pkgs/development/python-modules/openstackdocstheme/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchPypi, + distutils, dulwich, pbr, sphinx, @@ -14,9 +15,6 @@ buildPythonPackage rec { version = "3.4.0"; pyproject = true; - # breaks on import due to distutils import through pbr.packaging - disabled = pythonAtLeast "3.12"; - src = fetchPypi { inherit pname version; hash = "sha256-YA3nY7Q6UM9sviGRUh08EwwLEjneO2KAh4Hsr/hn25U="; @@ -29,6 +27,7 @@ buildPythonPackage rec { build-system = [ setuptools ]; dependencies = [ + distutils dulwich pbr sphinx From d2d886077df92dbe7937cfa3e68f908d967f6fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 9 Dec 2024 11:04:20 +0100 Subject: [PATCH 2/4] nixos/tests/jenkins: increase disk size to 2 GiB Or else Jenkins stops the built-in node due to lack of disk space (when using the default 1 GiB). --- nixos/tests/jenkins.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index d7394c866c143..35762652778b0 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -60,6 +60,11 @@ import ./make-test-python.nix ({ pkgs, ...} : { users.users.jenkins.extraGroups = [ "users" ]; systemd.services.jenkins.serviceConfig.TimeoutStartSec = "6min"; + + # Increase disk space to prevent this issue: + # + # WARNING h.n.DiskSpaceMonitorDescriptor#markNodeOfflineOrOnline: Making Built-In Node offline temporarily due to the lack of disk space + virtualisation.diskSize = 2 * 1024; }; slave = From 99b1068f9488549f49c6c9569b8f7cf7e913526b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 9 Dec 2024 11:36:23 +0100 Subject: [PATCH 3/4] python3Packages.jenkins-job-builder: add missing runtime dependency 'packaging' Now it runs! --- pkgs/development/python-modules/jenkins-job-builder/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix index 479abaffd66f8..833571d1e034f 100644 --- a/pkgs/development/python-modules/jenkins-job-builder/default.nix +++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix @@ -4,6 +4,7 @@ fetchPypi, fasteners, jinja2, + packaging, pbr, python-jenkins, pyyaml, @@ -39,6 +40,7 @@ buildPythonPackage rec { ''; dependencies = [ + packaging pbr python-jenkins pyyaml From f56dd5eaa18d35015f60cf05b5e15fc659878bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 9 Dec 2024 11:38:08 +0100 Subject: [PATCH 4/4] python3Packages.jenkins-job-builder: add passthru.tests --- .../development/python-modules/jenkins-job-builder/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix index 833571d1e034f..c4276bce1b72d 100644 --- a/pkgs/development/python-modules/jenkins-job-builder/default.nix +++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix @@ -15,6 +15,7 @@ fetchpatch, testtools, pytest-mock, + nixosTests, }: buildPythonPackage rec { @@ -56,6 +57,8 @@ buildPythonPackage rec { pytest-mock ]; + passthru.tests = { inherit (nixosTests) jenkins; }; + meta = { description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git"; mainProgram = "jenkins-jobs";