Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarifications for build-requires graph cost & more #3574

Open
memsharded opened this issue Feb 11, 2024 · 0 comments
Open

Clarifications for build-requires graph cost & more #3574

memsharded opened this issue Feb 11, 2024 · 0 comments
Milestone

Comments

@memsharded
Copy link
Member

memsharded commented Feb 11, 2024

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 conan-io/conan#15579 (comment)

@memsharded memsharded added this to the 2 milestone Feb 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant