docs icon indicating copy to clipboard operation
docs copied to clipboard

Clarifications for build-requires graph cost & more

Open memsharded opened this issue 1 year ago • 0 comments

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 using build_requires, which themselves have many dependencies.
  • The description of the options attribute does not contain anything about the update method. It is not obvious whether it is possible to add new options in the config_options method.
  • The possibility of calling self.info.options.rm_safe in package_id is also not obvious. Although removing options from the pakcage_id is not a typical case, in an enterprise environment there may be many reasons to use options without affecting the package_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

memsharded avatar Feb 11 '24 22:02 memsharded