From 5388fe7c59189f1251aaa2fb904d949f104fd664 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 13:49:56 +0100 Subject: [PATCH 1/7] tektoncd-cli: move to finalAttrs pattern --- pkgs/by-name/te/tektoncd-cli/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index 082b85a549ff..e19fe16ec98f 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -5,14 +5,14 @@ installShellFiles, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "tektoncd-cli"; version = "0.42.0"; src = fetchFromGitHub { owner = "tektoncd"; repo = "cli"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; sha256 = "sha256-WB3XsXT8bXo2GpHC6hGKilRwloy31y18JD09cQklsV0="; }; @@ -21,7 +21,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" - "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}" + "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${finalAttrs.version}" ]; nativeBuildInputs = [ installShellFiles ]; @@ -55,13 +55,13 @@ buildGoModule rec { installCheckPhase = '' runHook preInstallCheck $out/bin/tkn --help - $out/bin/tkn version | grep "Client version: ${version}" + $out/bin/tkn version | grep "Client version: ${finalAttrs.version}" runHook postInstallCheck ''; meta = { homepage = "https://tekton.dev"; - changelog = "https://github.com/tektoncd/cli/releases/tag/v${version}"; + changelog = "https://github.com/tektoncd/cli/releases/tag/v${finalAttrs.version}"; description = "Provides a CLI for interacting with Tekton - tkn"; longDescription = '' The Tekton Pipelines cli project provides a CLI for interacting with @@ -77,4 +77,4 @@ buildGoModule rec { ]; mainProgram = "tkn"; }; -} +}) From 8a7fa879fb1e4591ba9ebf757b856152a5cd2a05 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 13:50:38 +0100 Subject: [PATCH 2/7] tektoncd-cli: get release by tag --- pkgs/by-name/te/tektoncd-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index e19fe16ec98f..d098d8065ee7 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -12,7 +12,7 @@ buildGoModule (finalAttrs: { src = fetchFromGitHub { owner = "tektoncd"; repo = "cli"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; sha256 = "sha256-WB3XsXT8bXo2GpHC6hGKilRwloy31y18JD09cQklsV0="; }; @@ -61,7 +61,7 @@ buildGoModule (finalAttrs: { meta = { homepage = "https://tekton.dev"; - changelog = "https://github.com/tektoncd/cli/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/tektoncd/cli/releases/tag/${finalAttrs.src.tag}"; description = "Provides a CLI for interacting with Tekton - tkn"; longDescription = '' The Tekton Pipelines cli project provides a CLI for interacting with From c0ca314f664d59eb1e9281960c0d6a13d00e1f17 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 14:10:53 +0100 Subject: [PATCH 3/7] tektoncd-cli: fix completion generation for cross-compiling --- pkgs/by-name/te/tektoncd-cli/package.nix | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index d098d8065ee7..dfe485268225 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -3,6 +3,9 @@ buildGoModule, fetchFromGitHub, installShellFiles, + + stdenv, + buildPackages, }: buildGoModule (finalAttrs: { @@ -44,12 +47,22 @@ buildGoModule (finalAttrs: { postInstall = '' installManPage docs/man/man1/* - - installShellCompletion --cmd tkn \ - --bash <($out/bin/tkn completion bash) \ - --fish <($out/bin/tkn completion fish) \ - --zsh <($out/bin/tkn completion zsh) - ''; + '' + + ( + let + exe = + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}" + else + lib.getExe buildPackages.tektoncd-cli; + in + '' + installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \ + --bash <(${exe} completion bash) \ + --fish <(${exe} completion fish) \ + --zsh <(${exe} completion zsh) + '' + ); doInstallCheck = true; installCheckPhase = '' From 571b4f0a5da841bf71eba5e95861caea48eb04cd Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 14:14:36 +0100 Subject: [PATCH 4/7] tektoncd-cli: use writableTmpDirAsHomeHook --- pkgs/by-name/te/tektoncd-cli/package.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index dfe485268225..4c23c892717c 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, installShellFiles, + writableTmpDirAsHomeHook, + stdenv, buildPackages, }: @@ -31,10 +33,11 @@ buildGoModule (finalAttrs: { subPackages = [ "cmd/tkn" ]; - preCheck = '' - # some tests try to write to the home dir - export HOME="$TMPDIR" + nativeCheckInputs = [ + writableTmpDirAsHomeHook + ]; + preCheck = '' # run all tests unset subPackages From eba34074e43f6c55c7d823c942bd127625ec091d Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 14:16:59 +0100 Subject: [PATCH 5/7] tektoncd-cli: use versionCheckHook --- pkgs/by-name/te/tektoncd-cli/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index 4c23c892717c..4b9e000e4f33 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -8,6 +8,8 @@ stdenv, buildPackages, + + versionCheckHook, }: buildGoModule (finalAttrs: { @@ -67,13 +69,11 @@ buildGoModule (finalAttrs: { '' ); + nativeInstallCheckInputs = [ + versionCheckHook + ]; doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - $out/bin/tkn --help - $out/bin/tkn version | grep "Client version: ${finalAttrs.version}" - runHook postInstallCheck - ''; + versionCheckProgramArg = "version"; meta = { homepage = "https://tekton.dev"; From c35b0782d5fce5df9d576902272db4529d36d039 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Fri, 8 Aug 2025 17:00:44 +0100 Subject: [PATCH 6/7] tektoncd-cli: add back working tests No longer require remote networking --- pkgs/by-name/te/tektoncd-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index 4b9e000e4f33..ee9e51e072c7 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -31,6 +31,9 @@ buildGoModule (finalAttrs: { "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${finalAttrs.version}" ]; + # tests bind to ::1 + __darwinAllowLocalNetworking = true; + nativeBuildInputs = [ installShellFiles ]; subPackages = [ "cmd/tkn" ]; @@ -45,9 +48,6 @@ buildGoModule (finalAttrs: { # the tests expect the clientVersion ldflag not to be set unset ldflags - - # remove tests with networking - rm pkg/cmd/version/version_test.go ''; postInstall = '' From 868095125fecd0b7a0875f0b47cf89ed80bb51dc Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Tue, 23 Sep 2025 16:14:19 +0100 Subject: [PATCH 7/7] tektoncd-cli: remove e2e tests --- pkgs/by-name/te/tektoncd-cli/package.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index ee9e51e072c7..cacb2ac2ba05 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -36,7 +36,13 @@ buildGoModule (finalAttrs: { nativeBuildInputs = [ installShellFiles ]; - subPackages = [ "cmd/tkn" ]; + subPackages = [ + "cmd/tkn" + ]; + + excludedPackages = [ + "test/e2e" + ]; nativeCheckInputs = [ writableTmpDirAsHomeHook