#build-harness (2024-02)

Help with the Cloud Posse build-harness https://github.com/cloudposse/build-harness


Jeremy G (Cloud Posse) avatar
Jeremy G (Cloud Posse)

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.

#377 Disambiguate packages install path from other uses of INSTALL_PATH


• Use PACKAGES_INSTALL_PATH instead of INSTALL_PATH to determine where build-harness installs its tools


• 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