docs
docs copied to clipboard
Clarifications for build-requires graph cost & more
The problem is that tests are still needed in the root module. The options
based solution allows us to enable tests in the current recipe, but disable them in dependencies. Now, when performing build tasks in CI/CD pipelines, tests for the current module will be performed, but not for dependencies. If developers are prohibited from performing conan upload
manually, we can be sure that any recipe uploaded to the repository has already passed tests at some point, and we can safely perform --build missing
without running tests at least until we expand the list of supported systems.
So I close the task. However, I want to note that the conan documentation currently does not contain several important things:
- The description of
build_requirements
does not contain anything about the impact on the complexity of the dependency graph. In this section, it is definitely necessary to add a warning about the problem when usingbuild_requires
, which themselves have many dependencies. - The description of the
options
attribute does not contain anything about theupdate
method. It is not obvious whether it is possible to add new options in theconfig_options
method. - The possibility of calling
self.info.options.rm_safe
inpackage_id
is also not obvious. Although removing options from thepakcage_id
is not a typical case, in an enterprise environment there may be many reasons to use options without affecting thepackage_id
, and the documentation should be more explicit on this issue. I wouldn't want to run into a compatibility issue after a while.
Originally posted by @Ariox41 in https://github.com/conan-io/conan/issues/15579#issuecomment-1937535402