I am part of a project in my workplace written in C++ that has two third-party dependencies, namely Boost and OpenSSL. However instead of downloading the pre-built binaries using package managers we need to do this by hand, on our own, using build scripts.
For running the project locally this is not an issue, we build these libraries once and after modifying the project’s code there is no need to rebuild them. However we want to use CI/CD pipelines to automate some processes when commiting updated code to GitLab where the project is stored. So each time we commit to the repository we need to build these libraries in the pipeline in order to be able to run the tests. But it is very time- and resource-consuming to do this heavy job in the pipeline on every commit. Also we of course exclude the variant to store the library files in the project codebase in GitLab.
Is there a workaround to this problem of building this heavy libraries in the pipeline every time?
1