pythondependency-managementsemantic-versioningrenovate

How to manage non-semver dependencies in Renovate?


I'v got the following python dependencies to manage with renovate, but I can't get a valid configuration that updates all the dependencies.

opentelemetry-api==1.21.0
opentelemetry-semantic-conventions==0.42b0
opentelemetry-instrumentation==0.42b0
opentelemetry-util-http==0.42b0

With a minimal configuration i have only a PR with opentelemetry-api updated

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "packageRules": [
    {
      "matchPackagePatterns": [
        "opentelemetry-*"
      ],
      "enabled": true
    }
  ]
}

I tried versioning with pep440 or python like:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "packageRules": [
    {
      "matchPackagePatterns": [
        "opentelemetry-*"
      ],
      "versioning": "python"
    }
  ]
}

Nothing seems to work for version 0.42b0.

What am I doing wrong? Does anyone have a working configuration using non-semver versions?


Solution

  • If I'm not mistaken, these versions are considered "unstable" and ignored by default by Renovate. (You might check out Renovate logs in DEBUG mode to confirm this is the reason).

    You can disable ignoreUnstable in your package rule.

    See a similar question:

    Renovate won't update to unstable versions unless:

    • it's the same major.minor.patch (e.g. updating from alpha.1 to alpha.2 of the same version)
    • You set ignoreUnstable=false