Merge pull request #256577 from wegank/cmctl-bump
cmctl: 1.11.2 -> 1.13.0
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user