From 66d8c7d29a54a833559bc4c62b4601ea082865c4 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 5 Nov 2020 13:08:06 -0500 Subject: [PATCH 1/2] jenkins: Inline update script, add test reference --- .../jenkins/default.nix | 43 ++++++++++++++++++- .../continuous-integration/jenkins/update.sh | 22 ---------- 2 files changed, 41 insertions(+), 24 deletions(-) delete mode 100755 pkgs/development/tools/continuous-integration/jenkins/update.sh diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index d9eb540c3f2e..c95a21c012dd 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, nix, nixfmt, writeScript, nixosTests, jq, cacert, curl }: stdenv.mkDerivation rec { pname = "jenkins"; @@ -14,11 +14,50 @@ stdenv.mkDerivation rec { cp "$src" "$out/webapps/jenkins.war" ''; + passthru = { + tests = { inherit (nixosTests) jenkins; }; + + updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -o errexit + PATH=${ + stdenv.lib.makeBinPath [ + cacert + common-updater-scripts + coreutils + curl + git + gnused + jq + nix + nixfmt + ] + } + + core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)" + oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"') + + version="$(jq -r .version <<<$core_json)" + sha256="$(jq -r .sha256 <<<$core_json)" + hash="$(nix-hash --type sha256 --to-base32 "$sha256")" + url="$(jq -r .url <<<$core_json)" + + if [ ! "$oldVersion" = "$version" ]; then + update-source-version jenkins "$version" "$hash" "$url" + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix" + nixfmt "$default_nix" + else + echo "jenkins is already up-to-date" + fi + ''; + }; + meta = with stdenv.lib; { description = "An extendable open source continuous integration server"; homepage = "https://jenkins-ci.org"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ coconnor fpletz earldouglas ]; + maintainers = with maintainers; [ coconnor fpletz earldouglas nequissimus ]; }; } diff --git a/pkgs/development/tools/continuous-integration/jenkins/update.sh b/pkgs/development/tools/continuous-integration/jenkins/update.sh deleted file mode 100755 index 4f2f6527eccc..000000000000 --- a/pkgs/development/tools/continuous-integration/jenkins/update.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl common-updater-scripts jq - -set -eu -o pipefail - -core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)" -oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"') - -version="$(jq -r .version <<<$core_json)" -sha256="$(jq -r .sha256 <<<$core_json)" -hash="$(nix-hash --type sha256 --to-base32 "$sha256")" -url="$(jq -r .url <<<$core_json)" - -if [ ! "${oldVersion}" = "${version}" ]; then - update-source-version jenkins "$version" "$hash" "$url" - nixpkgs="$(git rev-parse --show-toplevel)" - default_nix="$nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix" - git add "${default_nix}" - git commit -m "jenkins: ${oldVersion} -> ${version}" -else - echo "jenkins is already up-to-date" -fi From 37cd50fa353fbede65ba2d5de002e289bc73f0b6 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 5 Nov 2020 18:09:36 +0000 Subject: [PATCH 2/2] =?UTF-8?q?jenkins:=202.249.2=20=E2=86=92=202.249.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/continuous-integration/jenkins/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index c95a21c012dd..b4cc2843c335 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, nix, nixfmt, writeScript, nixosTests, jq, cacert, curl }: +{ stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused, nix, nixfmt +, writeScript, nixosTests, jq, cacert, curl }: stdenv.mkDerivation rec { pname = "jenkins"; - version = "2.249.2"; + version = "2.249.3"; src = fetchurl { url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war"; - sha256 = "08m5z4ik96gnhw92hjzch7rpvrs0dipi9fps4rihwwzg5k26rc0v"; + sha256 = "00lpqkkz7k0m2czz1sg54gb90sljc14i5a2kpikrkiw8aqfz3s4d"; }; buildCommand = '' @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { #!${stdenv.shell} set -o errexit PATH=${ - stdenv.lib.makeBinPath [ + stdenv.lib.makeBinPath [ cacert common-updater-scripts coreutils