Skip to content

Automated Dependency Updates for Conan

Categories: c

Renovate supports updating Conan dependencies.

Enabling

Conan functionality is currently in beta testing, so you must opt-in to test it. To enable it, add a configuration like this to either your bot config or your renovate.json:

{
  "conan": {
    "enabled": true
  }
}

If you find any bugs, please create a new discussion first. If you find that it works well, then let us know too.

File Matching

By default, Renovate will check any files matching the following regular expression: (^|/)conanfile\.(txt|py)$.

For details on how to extend a manager's fileMatch value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: conan.

Default config

{
  "fileMatch": [
    "(^|/)conanfile\\.(txt|py)$"
  ],
  "datasource": "conan",
  "versioning": "conan",
  "enabled": false
}

Additional Information

Warning

The Conan package manager is disabled by default due to slowness in the Conan API. We recommend you only enable it for low volume experimental purposes until issue #14170 is resolved.

Renovate can upgrade dependencies in conanfile.txt or conanfile.py files.

How it works:

  1. Renovate searches in each repository for any conanfile.txt or conanfile.py file
  2. Renovate extracts existing dependencies from:
  3. the [requires] and [build_requires] sections in the conanfile.txt format
  4. the requirements() and build_requirements() functions in the conanfile.py format
  5. and the python_requires, requires and build_requires variables in the conanfile.py format
  6. Renovate resolves the dependency's version using the Conan v2 API
  7. If Renovate finds an update, Renovate will update conanfile.txt or conanfile.py

Enabling Conan updating

Renovate updates Conan packages by default.

Open items

The below list of features were current when this page was generated on April 16, 2024.

Feature requests

  • Conan lock file support #21912