kargo
kargo copied to clipboard
Store (versioned) tool binaries relative to project root directory
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.