Skip to content

[bug] conan lock upgrade does not upgrade config_requires #18480

@jsobo-dlb

Description

@jsobo-dlb

Describe the bug

When conan config upgrade ... --update-config-requires '<config_requires>' is run, and conan.lock already contains locked <config_requires> it will be removed and never upgraded.

How to reproduce it

  • create conan.lock with a locked config requires (can be fake package)
{
    "version": "0.5",
    "config_requires": [
        "my_config/0.1@user"
    ]
}
  • run for example conan config upgrade --requires 'zlib/[*]' --lockfile conan.lock --lockfile-out new_lock.lock --update-config-requires ''my_config/[*]@user'
  • notice new_lock.lock's config_requires is empty
{
    "version": "0.5",
    "requires": [
        "zlib/1.3.1#99d6f9ea0a1dd63d973392c24ce0aa9b%1740061896.919"
    ],
    "build_requires": [],
    "python_requires": [],
    "config_requires": []
}

It looks like conan/cli/commands/lock.py:212 removes it from lockfile and it's never generated in subsequent graph resolvement.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions