Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Currently, builds of our Python SDK clone several C++ dependencies directly from the `main` branch of their canonical git repositories and build them from source. Sometimes, though, `main` might be broken, causing our nightly builds to spuriously fail. Instead, we should clone from tagged releases of our dependencies, pinning the versions so we know that our builds will not fail due to development issues in our dependencies. This patch refactors the `bin/build-*.sh` scripts to enable us to do this more easily. First, it creates a new `bin/clone-dependencies.sh` script, which specifies the tagged versions of and clones the dependencies `bde-tools`, `bde`, `ntf-core`, and `blazingmq`. This consolidates the dependency cloning that is common between all the `bin/build-*.sh` scripts. This script is not intended to be run by users directly; instead, this patch secondarily removes the dependency cloning from each build script, and sources the `bin/clone-dependencies.sh` script. The existing dependency cloning logic allows for a user to manually clone these dependencies in the correct location before running the script, and those clones will be used instead. This patch preserves this functionality, which allows users to still build and test the Python SDK against the `main` branches of these dependencies, at the cost of doing the cloning and checking out themselves. To update the release tags that the SDK is built against, the environment variables at the top of `.bin/clone-dependencies.sh` should be modified. Testing ------- This patch was tested by building and testing the SDK with the `./bin/build-macos-universal.sh` script on an M2 Mac system, and manually ensuring that all dependencies were correctly cloned to the correct tag. Signed-off-by: Patrick M. Niedzielski <[email protected]>
- Loading branch information