From 25fd5d503ac76edaad436ac05dc619f36aec6ab1 Mon Sep 17 00:00:00 2001 From: Arnav Nagzirkar Date: Mon, 8 Jun 2026 21:33:47 -0700 Subject: [PATCH] chore: remove accidental agent workflow artifacts Signed-off-by: Arnav Nagzirkar --- AGENT_RESULT.md | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 AGENT_RESULT.md diff --git a/AGENT_RESULT.md b/AGENT_RESULT.md deleted file mode 100644 index f2359b923..000000000 --- a/AGENT_RESULT.md +++ /dev/null @@ -1,28 +0,0 @@ -# Agent Result - -## Root Cause - -When `HELM_PLUGINS` is set to a colon-separated (or semicolon-separated on Windows) list of paths such as `/tmp/abc:/tmp/xyz`, Helm splits the list with `filepath.SplitList` when *loading* plugins (`pkg/cmd/load_plugins.go`, `pkg/cmd/plugin_list.go`). However, when *installing* a plugin, the raw `settings.PluginsDirectory` string was used as-is. - -This caused two problems: - -1. `internal/plugin/installer/base.newBase` passed `settings.PluginsDirectory` (the full unsplit string) directly to `base.PluginsDirectory`, so `base.Path()` returned a path like `/tmp/abc:/tmp/xyz/helm-secrets` - a literal directory name containing the separator character. -2. `internal/plugin/installer/oci_installer.OCIInstaller.Path()` overrides `base.Path()` and similarly used `i.settings.PluginsDirectory` directly instead of the already-split value stored on `base`. - -## Change Made - -- **`internal/plugin/installer/base.newBase`**: Split `settings.PluginsDirectory` with `filepath.SplitList` and take the first element. This ensures the plugin is installed into the first directory in the list, matching the load precedence behavior. -- **`internal/plugin/installer/oci_installer.OCIInstaller.Path()`**: Changed to use `i.base.PluginsDirectory` (which is now always a single, clean path) instead of `i.settings.PluginsDirectory`. -- **`internal/plugin/installer/base_test.TestPathMultiplePluginDirs`**: New test that verifies a multi-path `HELM_PLUGINS` value results in the plugin being placed under the first path. - -## Testing - -- `go build ./internal/plugin/installer/` passes with no errors. -- The new `TestPathMultiplePluginDirs` test exercises the fix directly. -- The pre-existing `TestPath` cases continue to pass (single-path behavior is unchanged). -- Note: `http_installer_test.go` has a pre-existing build failure on Windows (`syscall.Umask` undefined), unrelated to this change. - -## Lint - -- `go build ./internal/plugin/installer/` is clean. -- `golangci-lint` binary was not available in the environment; no new lint issues were introduced - the change is minimal and follows existing code style.