I have a general question that is something me and my company have struggled with in the past trying to integrate conan into our CI infrastructure.
In general, when we run our CI we want to run conan create -u one time and then apply the same dependency graph to multiple profiles to ensure that both profiles were built using the same versions of various modules within the same run. We currently achieve this via some complicated locking logic that parses the create json file and then applies those versions to the next profile in the list to run.
My question is around the update_dependencies flag and how that handles this scenario. Will it only update the dependencies once, on the first profile run or will it run with -u for each profile we run. The real issue here is that race conditions can occur where within the same CI builds, different versions and graphs of various modules can be used by two different profile runs.
Description of Problem, Request, or Question
I have a general question that is something me and my company have struggled with in the past trying to integrate conan into our CI infrastructure.
In general, when we run our CI we want to run
conan create -u
one time and then apply the same dependency graph to multiple profiles to ensure that both profiles were built using the same versions of various modules within the same run. We currently achieve this via some complicated locking logic that parses the create json file and then applies those versions to the next profile in the list to run.My question is around the
update_dependencies
flag and how that handles this scenario. Will it only update the dependencies once, on the first profile run or will it run with-u
for each profile we run. The real issue here is that race conditions can occur where within the same CI builds, different versions and graphs of various modules can be used by two different profile runs.