kargo icon indicating copy to clipboard operation
kargo copied to clipboard

Store (versioned) tool binaries relative to project root directory

Open hiddeco opened this issue 5 months ago • 2 comments

Based on my comment in https://github.com/akuity/kargo/pull/1515#discussion_r1499139130

At present, we are doing a mixture of assuming certain tool binaries are present (globally) on a contributor their system, in combination with an additional assumption of them having a certain version.

In #1515, this is somewhat improved -- by at least ensuring there is a way to install the tools at their expected version. However, as this is still done globally this can create the new issue of it unexpectedly downgrading existing tools on a user their system.

To further improve this, I would suggest to install tool binaries relative to the project root directory (e.g. /hack/bin, see referred comment). Which can be combined with some Make magic to ensure the binaries are updated any time a version is updated in go.mod.

For some of the Node dependencies, a likewise approach could likely be used as I had to explore this to solve #1517.

hiddeco avatar Feb 23 '24 14:02 hiddeco