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

Some PEP440 versions appear to not be supported #30929

Open
rarkins opened this issue Aug 21, 2024 Discussed in #30566 · 0 comments
Open

Some PEP440 versions appear to not be supported #30929

rarkins opened this issue Aug 21, 2024 Discussed in #30566 · 0 comments
Labels
manager:poetry Poetry package manager priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:bug Bug fix of existing functionality

Comments

@rarkins
Copy link
Collaborator

rarkins commented Aug 21, 2024

Discussed in #30566

Originally posted by tuturiffic August 2, 2024

What would you like help with?

I think I found a bug

How are you running Renovate?

Mend Renovate hosted app on github.com

If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.

No response

Please tell us more about your question or problem

The OpenTelemetry project publishes their packages using PEP440 as a versioning scheme. Most of these versions also happen to follow semver -- <major>.<minor>.<patchlevel> -- but some of them follow a PEP440-specific "pre-release" format: <major>.<minor>b0

It seems that Renovate does not properly parse these pre-release versions, thus is unable to identify these versions nor identify any potential updates.

To illustrate this issue, I've put up a minimal reproduction.

Logs (if relevant)

Logs

DEBUG: packageFiles with updates
{
  "baseBranch": "main"
  "config": {
    "pep621": [
      {
        "deps": [
          {
            "currentValue": ">=1.22.0, <2.0",
            "currentVersion": "1.26.0",
            "currentVersionTimestamp": "2024-07-25T04:01:38.000Z",
            "datasource": "pypi",
            "depName": "opentelemetry-api",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-api",
            "registryUrl": "https://pypi.org/pypi",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=1.22.0, <2.0",
            "currentVersion": "1.26.0",
            "currentVersionTimestamp": "2024-07-25T04:01:59.000Z",
            "datasource": "pypi",
            "depName": "opentelemetry-sdk",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-sdk",
            "registryUrl": "https://pypi.org/pypi",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=1.22.0, <2.0",
            "currentVersion": "1.26.0",
            "currentVersionTimestamp": "2024-07-25T04:01:41.000Z",
            "datasource": "pypi",
            "depName": "opentelemetry-exporter-otlp",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-exporter-otlp",
            "registryUrl": "https://pypi.org/pypi",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=0.43b0, <1.0",
            "datasource": "pypi",
            "depName": "opentelemetry-instrumentation",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-instrumentation",
            "registryUrl": "https://pypi.org/pypi",
            "skipReason": "invalid-value",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=0.43b0, <1.0",
            "datasource": "pypi",
            "depName": "opentelemetry-instrumentation-asyncpg",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-instrumentation-asyncpg",
            "registryUrl": "https://pypi.org/pypi",
            "skipReason": "invalid-value",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=0.43b0, <1.0",
            "datasource": "pypi",
            "depName": "opentelemetry-instrumentation-fastapi",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-instrumentation-fastapi",
            "registryUrl": "https://pypi.org/pypi",
            "skipReason": "invalid-value",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=0.43b0, <1.0",
            "datasource": "pypi",
            "depName": "opentelemetry-instrumentation-httpx",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-instrumentation-httpx",
            "registryUrl": "https://pypi.org/pypi",
            "skipReason": "invalid-value",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "currentValue": ">=0.43b0, <1.0",
            "datasource": "pypi",
            "depName": "opentelemetry-instrumentation-logging",
            "depType": "project.dependencies",
            "packageName": "opentelemetry-instrumentation-logging",
            "registryUrl": "https://pypi.org/pypi",
            "skipReason": "invalid-value",
            "versioning": "pep440",
            "warnings": [],
            "updates": []
          },
          {
            "datasource": "pypi",
            "depName": "setuptools",
            "depType": "build-system.requires",
            "packageName": "setuptools",
            "skipReason": "unspecified-version",
            "updates": []
          },
          {
            "datasource": "pypi",
            "depName": "setuptools_scm",
            "depType": "build-system.requires",
            "packageName": "setuptools_scm",
            "skipReason": "unspecified-version",
            "updates": []
          }
        ],
        "extractedConstraints": {
          "python": "~=3.9"
        },
        "packageFile": "pyproject.toml"
      }
    ]
  }
}

Reproduction forked to https://github.com/renovate-reproductions/30566

@rarkins rarkins added type:bug Bug fix of existing functionality priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others manager:poetry Poetry package manager labels Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
manager:poetry Poetry package manager priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:bug Bug fix of existing functionality
Projects
None yet
Development

No branches or pull requests

1 participant