#build-harness (2024-02)
Help with the Cloud Posse build-harness https://github.com/cloudposse/build-harness
2024-02-04
Most Cloud Posse projects install build-harness
under the project’s repository root to manage things like building Docker images or generating README.md
from README.yaml
. In turn, build-harness
installs some tools it needs when it needs them. We had been using INSTALL_PATH
to determine where build-harness
installs its tools, intending that they be installed under the build-harness
tree, but this is in conflict with Geodesic, which uses INSTALL_PATH
to determine where to install the Geodesic wrapper/command. This was causing build-harness
to install gomplate
in /usr/local/bin
, which was not the intention.
So we changed build-harness
to install its tools into PACKAGES_INSTALL_PATH
instead. Unfortunately, this broke some workflows, particularly pre-commit workflows, which use INSTALL_PATH
to direct where build-harness
installs tools needed for the workflow. The quick fix is to replace INSTALL_PATH
with PACKAGES_INSTALL_PATH
in the workflow where the intent is to have build-harness
install tools in a particular directory.
what
• Use PACKAGES_INSTALL_PATH
instead of INSTALL_PATH
to determine where build-harness
installs its tools
why
• Other Makefiles use INSTALL_PATH
to determine where to install their build artifacts (typically /usr/local/bin
) but that does not mean build-harness
should be installing its tools there