From 9076afd70774826324f945d548aa57be7ac2d5e6 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 22 Sep 2023 00:18:02 +0200 Subject: [PATCH] cmctl: 1.11.2 -> 1.13.0 --- .../networking/cluster/cmctl/default.nix | 31 ++++++++++---- .../networking/cluster/cmctl/update.sh | 41 ------------------- 2 files changed, 22 insertions(+), 50 deletions(-) delete mode 100755 pkgs/applications/networking/cluster/cmctl/update.sh diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix index ac5273242472..358c60ea2805 100644 --- a/pkgs/applications/networking/cluster/cmctl/default.nix +++ b/pkgs/applications/networking/cluster/cmctl/default.nix @@ -1,39 +1,52 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ lib +, stdenv +, buildGoModule +, fetchFromGitHub +, installShellFiles +, nix-update-script +}: buildGoModule rec { pname = "cmctl"; - version = "1.11.2"; + version = "1.13.0"; src = fetchFromGitHub { owner = "cert-manager"; repo = "cert-manager"; - rev = "4767427a40e0e193c976fd6bc228f50de8950572"; - sha256 = "128s5vd4hp5mr0rnb21grzmijzx0ibpv71as36dcgw7z4v3gq7lx"; + rev = "v${version}"; + hash = "sha256-o51CIwZeBq3XrNvu6n6dVCsmXH2pU7l3igw61KjI0cw="; }; - vendorHash = "sha256-+r0QpD97r6dokUr07Qjb9kvoK+oz2rvml0cIebtYuHg="; + sourceRoot = "${src.name}/cmd/ctl"; - subPackages = [ "cmd/ctl" ]; + vendorHash = "sha256-szDFQ5zxZ4IUMaIe/eyQAouomR6kpQXn/LZ3MEBbx0Y="; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build.name=cmctl" "-X github.com/cert-manager/cert-manager/cmd/ctl/pkg/build/commands.registerCompletion=true" "-X github.com/cert-manager/cert-manager/pkg/util.AppVersion=v${version}" "-X github.com/cert-manager/cert-manager/pkg/util.AppGitCommit=${src.rev}" ]; - nativeBuildInputs = [ installShellFiles ]; + nativeBuildInputs = [ + installShellFiles + ]; + + # Trusted by this computer: no: x509: “cert-manager” certificate is not trusted + doCheck = !stdenv.isDarwin; postInstall = '' mv $out/bin/ctl $out/bin/cmctl + '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd cmctl \ --bash <($out/bin/cmctl completion bash) \ --fish <($out/bin/cmctl completion fish) \ --zsh <($out/bin/cmctl completion zsh) ''; - passthru.updateScript = ./update.sh; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "A CLI tool for managing cert-manager service on Kubernetes clusters"; diff --git a/pkgs/applications/networking/cluster/cmctl/update.sh b/pkgs/applications/networking/cluster/cmctl/update.sh deleted file mode 100755 index 16a20edb577b..000000000000 --- a/pkgs/applications/networking/cluster/cmctl/update.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl gnugrep gnused jq - -set -x -eu -o pipefail - -NIXPKGS_PATH="$(git rev-parse --show-toplevel)" -CMCTL_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" - -OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; cmctl.version or (builtins.parseDrvName cmctl.name).version" | tr -d '"')" -LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" -LATEST_VERSION="${LATEST_TAG:1}" - -if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then - SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/cert-manager/cert-manager/archive/refs/tags/${LATEST_TAG}.tar.gz) - TAG_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') - TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) - - setKV () { - sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${CMCTL_PATH}/default.nix" - } - - setKV version ${LATEST_VERSION} - setKV sha256 "${SHA256}" - setKV rev ${TAG_COMMIT_SHA} - setKV vendorSha256 "0000000000000000000000000000000000000000000000000000" # The same as lib.fakeSha256 - - set +e - VENDOR_SHA256=$(nix-build --no-out-link -A cmctl $NIXPKGS_PATH 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') - set -e - - if [ -n "${VENDOR_SHA256:-}" ]; then - setKV vendorSha256 ${VENDOR_SHA256} - else - echo "Update failed. VENDOR_SHA256 is empty." - exit 1 - fi - - echo "updated cmctl to $LATEST_VERSION, please commit changes." -else - echo "cmctl is already up-to-date at $OLD_VERSION" -fi