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

uv appears to be locking incorrect transitive dependencies when used by Renovate on pyscss with python 3.11 #9217

Open
samuelhwilliams opened this issue Nov 19, 2024 · 3 comments
Labels
question Asking for clarification or support

Comments

@samuelhwilliams
Copy link

samuelhwilliams commented Nov 19, 2024

Please tell us more about your question or problem

I'm using https://docs.renovatebot.com/ to keep project dependencies up to date. This supports uv.lock and uses native uv commands to update the lockfile when bumping mainline deps.

I've noticed that it is pulling in invalid transitive dependencies for pyscss on a python 3.11 project (for example).

Please see example of incorrect transitive dependency locking: https://github.com/samuelhwilliams/test-renovate-uv/pull/1/files

I initially raised this on renovate's repo, but they've pointed out that they use uv commands directly so the issue feels unlikely to be wholly on their side.

On a python 3.11+ project that pulls in pyscss, renovate is adding enum34 and pathlib2 as transitive dependencies.

pyscss declares these as dependencies only on versions lower than python 3.4. Pulling these in, specifically enum34, can break the python stdlib in unusual ways (because enum34 imports as enum, which overrides the stdlib enum, which is used by other stdlibs but has a different interface).

If I pull the renovate branch locally and run uv remove pyscss and uv add pyscss==1.4.0, enum34 and pathlib2 are removed from the lockfile again. So possibly there's some interaction with how they setup their environment, but from my quick scan of the logs it looks reasonably correct.

image

See renovate logs below - searching for uv lock and/or enum34 shows that these are getting added natively by uv.

Logs (if relevant)

Logs

DEBUG: Using RE2 regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /runner/renovate/job_config.json
DEBUG: Detected config in env RENOVATE_CONFIG
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://mend-developer-platform-renovate-prod.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "platformCommit": "enabled",
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "s3://mend-developer-platform-prod/renovate/",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "allowedPostUpgradeCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "allowPostUpgradeCommandTemplating": true
  }
}

DEBUG: File config
{
  "config": {
    "token": "***********",
    "privateKey": "***********",
    "privateKeyOld": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprodrenovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {}
  }
}

DEBUG: CLI config
{
  "config": {}
}

DEBUG: Env config
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://mend-developer-platform-renovate-prod.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "platformCommit": "enabled",
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "s3://mend-developer-platform-prod/renovate/",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "allowedPostUpgradeCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "allowPostUpgradeCommandTemplating": true,
    "hostRules": [],
    "onboardingNoDeps": "enabled",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "samuelhwilliams/test-renovate-uv"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Combined config
{
  "config": {
    "token": "***********",
    "privateKey": "***********",
    "privateKeyOld": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprodrenovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {},
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://mend-developer-platform-renovate-prod.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "platformCommit": "enabled",
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "s3://mend-developer-platform-prod/renovate/",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "allowedPostUpgradeCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "allowPostUpgradeCommandTemplating": true,
    "onboardingNoDeps": "enabled",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "samuelhwilliams/test-renovate-uv"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Enabling forkProcessing while in non-autodiscover mode
DEBUG: Enabling onboardingNoDeps while in non-autodiscover mode
DEBUG: Found valid git version: 2.47.0
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Using default github endpoint: https://api.github.com/
DEBUG: Platform config
{
  "platformConfig": {
    "hostType": "github",
    "endpoint": "https://api.github.com/",
    "isGHApp": true,
    "isGhe": false
  }
  "renovateUsername": "renovate[bot]"
}

DEBUG: Using configured gitAuthor (renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>)
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Using baseDir: /tmp/renovate
DEBUG: Using cacheDir: /tmp/renovate/cache
DEBUG: Using containerbaseDir: /tmp/renovate/cache/containerbase
DEBUG: Redis cache init
DEBUG: Redis cache connected
DEBUG: Commits limit = null
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: validatePresets()
DEBUG: Reinitializing hostRules for repo
DEBUG: Clearing hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
INFO: Repository started
{
  "renovateVersion": "39.19.0"
}

DEBUG: Using localDir: /tmp/renovate/repos/github/samuelhwilliams/test-renovate-uv
DEBUG: PackageFiles.clear() - Package files deleted
DEBUG: initRepo("samuelhwilliams/test-renovate-uv")
DEBUG: hostRules: authentication already set for api.github.com
DEBUG: Using queue: host=api.github.com, concurrency=16
DEBUG: samuelhwilliams/test-renovate-uv default branch = main
DEBUG: Using app token for git init
DEBUG: RepoCacheS3.read() - No cached file found
DEBUG: RepoCacheBase.load() - expecting data of type 'string' received 'object' instead - skipping
DEBUG: Resetting npmrc
DEBUG: Resetting npmrc
DEBUG: checkOnboarding()
DEBUG: isOnboarded()
DEBUG: findPr(renovate/configure, Configure Renovate, !open)
DEBUG: http cache: saving https://api.github.com/repos/samuelhwilliams/test-renovate-uv/pulls?per_page=100&state=all&sort=updated&direction=desc&page=1 (etag="443b18c807a0b029f7748c07c86f725fecde128a1567c4af3f1dc4da85834351", lastModified=undefined)
DEBUG: getPrList success
{
  "pullsTotal": 0
  "requestsTotal": 1
  "apiQuotaAffected": true
}

DEBUG: findPr(renovate/configure, chore: Configure Renovate, !open)
DEBUG: findFile(renovate.json)
DEBUG: Initializing git repository into /tmp/renovate/repos/github/samuelhwilliams/test-renovate-uv
DEBUG: Performing blobless clone
DEBUG: git clone completed
{
  "durationMs": 256
}

DEBUG: latest repository commit
{
  "latestCommit": {
    "hash": "2f1c024c0b487699e83495183be64bd42f84f10a",
    "date": "2024-11-19T07:20:26Z",
    "message": "add pyscss and pin",
    "refs": "HEAD -> main, origin/main, origin/HEAD",
    "body": "",
    "author_name": "Samuel Williams",
    "author_email": "samuelhwilliams@gmail.com"
  }
}

DEBUG: Config file exists, fileName: renovate.json
DEBUG: Retrieving issueList
DEBUG: Retrieved 0 issues
DEBUG: Repo is onboarded
DEBUG: Found renovate.json config file
DEBUG: Repository config
{
  "fileName": "renovate.json"
  "config": {
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": [
      "config:best-practices"
    ],
    "rangeStrategy": "pin"
  }
}

DEBUG: migrateAndValidate()
DEBUG: No config migration necessary
DEBUG: Found repo ignorePaths
{
  "ignorePaths": [
    "**/node_modules/**",
    "**/bower_components/**",
    "**/vendor/**",
    "**/examples/**",
    "**/__tests__/**",
    "**/test/**",
    "**/tests/**",
    "**/__fixtures__/**"
  ]
}

DEBUG: No vulnerability alerts enabled for repo
DEBUG: No vulnerability alerts found
DEBUG: findIssue(Dependency Dashboard)
DEBUG: No baseBranches
DEBUG: extract()
DEBUG: Setting current branch to main
DEBUG: latest commit
{
  "branchName": "main"
  "latestCommitDate": "2024-11-19T07:20:26Z"
}

DEBUG: Using file match: (^|/)tasks/[^/]+\.ya?ml$ for manager ansible
DEBUG: Using file match: (^|/)(galaxy|requirements)(\.ansible)?\.ya?ml$ for manager ansible-galaxy
DEBUG: Using file match: (^|/)\.tool-versions$ for manager asdf
DEBUG: Using file match: (^|/).azuredevops/.+\.ya?ml$ for manager azure-pipelines
DEBUG: Using file match: azure.*pipelines?.*\.ya?ml$ for manager azure-pipelines
DEBUG: Using file match: (^|/)batect(-bundle)?\.ya?ml$ for manager batect
DEBUG: Using file match: (^|/)batect$ for manager batect-wrapper
DEBUG: Using file match: (^|/)WORKSPACE(|\.bazel|\.bzlmod)$ for manager bazel
DEBUG: Using file match: \.WORKSPACE\.bazel$ for manager bazel
DEBUG: Using file match: \.bzl$ for manager bazel
DEBUG: Using file match: (^|/)MODULE\.bazel$ for manager bazel-module
DEBUG: Using file match: (^|/)\.bazelversion$ for manager bazelisk
DEBUG: Using file match: \.bicep$ for manager bicep
DEBUG: Using file match: (^|/)\.?bitbucket-pipelines\.ya?ml$ for manager bitbucket-pipelines
DEBUG: Using file match: (^|/)bitrise\.ya?ml$ for manager bitrise
DEBUG: Using file match: buildkite\.ya?ml for manager buildkite
DEBUG: Using file match: \.buildkite/.+\.ya?ml$ for manager buildkite
DEBUG: Using file match: (^|/)bun\.lockb$ for manager bun
DEBUG: Using file match: (^|/)\.bun-version$ for manager bun-version
DEBUG: Using file match: (^|/)Gemfile$ for manager bundler
DEBUG: Using file match: \.cake$ for manager cake
DEBUG: Using file match: (^|/)Cargo\.toml$ for manager cargo
DEBUG: Using file match: (^|/)\.circleci/.+\.ya?ml$ for manager circleci
DEBUG: Using file match: (^|/)cloudbuild\.ya?ml for manager cloudbuild
DEBUG: Using file match: (^|/)Podfile$ for manager cocoapods
DEBUG: Using file match: (^|/)([\w-]*)composer\.json$ for manager composer
DEBUG: Using file match: (^|/)conanfile\.(txt|py)$ for manager conan
DEBUG: Using file match: (^|/)\.copier-answers(\..+)?\.ya?ml for manager copier
DEBUG: Using file match: (^|/)cpanfile$ for manager cpanfile
DEBUG: Using file match: (^|/)(?:deps|bb)\.edn$ for manager deps-edn
DEBUG: Using file match: ^.devcontainer/devcontainer.json$ for manager devcontainer
DEBUG: Using file match: ^.devcontainer.json$ for manager devcontainer
DEBUG: Using file match: (^|/)(?:docker-)?compose[^/]*\.ya?ml$ for manager docker-compose
DEBUG: Using file match: (^|/|\.)([Dd]ocker|[Cc]ontainer)file$ for manager dockerfile
DEBUG: Using file match: (^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$ for manager dockerfile
DEBUG: Using file match: (^|/)\.drone\.yml$ for manager droneci
DEBUG: Using file match: (^|/)fleet\.ya?ml for manager fleet
DEBUG: Using file match: (?:^|/)gotk-components\.ya?ml$ for manager flux
DEBUG: Using file match: (^|/)\.fvm/fvm_config\.json$ for manager fvm
DEBUG: Using file match: (^|/)\.fvmrc$ for manager fvm
DEBUG: Using file match: (^|/)\.gitmodules$ for manager git-submodules
DEBUG: Using file match: (^|/)(workflow-templates|\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\.ya?ml$ for manager github-actions
DEBUG: Using file match: (^|/)action\.ya?ml$ for manager github-actions
DEBUG: Using file match: \.gitlab-ci\.ya?ml$ for manager gitlabci
DEBUG: Using file match: \.gitlab-ci\.ya?ml$ for manager gitlabci-include
DEBUG: Using file match: (^|/)gleam.toml$ for manager gleam
DEBUG: Using file match: (^|/)go\.mod$ for manager gomod
DEBUG: Using file match: \.gradle(\.kts)?$ for manager gradle
DEBUG: Using file match: (^|/)gradle\.properties$ for manager gradle
DEBUG: Using file match: (^|/)gradle/.+\.toml$ for manager gradle
DEBUG: Using file match: (^|/)buildSrc/.+\.kt$ for manager gradle
DEBUG: Using file match: \.versions\.toml$ for manager gradle
DEBUG: Using file match: (^|/)versions.props$ for manager gradle
DEBUG: Using file match: (^|/)versions.lock$ for manager gradle
DEBUG: Using file match: (^|/)gradle/wrapper/gradle-wrapper\.properties$ for manager gradle-wrapper
DEBUG: Using file match: (^|/)requirements\.ya?ml$ for manager helm-requirements
DEBUG: Using file match: (^|/)values\.ya?ml$ for manager helm-values
DEBUG: Using file match: (^|/)helmfile\.ya?ml(?:\.gotmpl)?$ for manager helmfile
DEBUG: Using file match: (^|/)Chart\.ya?ml$ for manager helmv3
DEBUG: Using file match: (^|/)bin/hermit$ for manager hermit
DEBUG: Using file match: ^Formula/[^/]+[.]rb$ for manager homebrew
DEBUG: Using file match: \.html?$ for manager html
DEBUG: Using file match: (^|/)plugins\.(txt|ya?ml)$ for manager jenkins
DEBUG: Using file match: (^|/)jsonnetfile\.json$ for manager jsonnet-bundler
DEBUG: Using file match: ^.+\.main\.kts$ for manager kotlin-script
DEBUG: Using file match: (^|/)kustomization\.ya?ml$ for manager kustomize
DEBUG: Using file match: (^|/)project\.clj$ for manager leiningen
DEBUG: Using file match: (^|/|\.)pom\.xml$ for manager maven
DEBUG: Using file match: ^(((\.mvn)|(\.m2))/)?settings\.xml$ for manager maven
DEBUG: Using file match: (^|/)\.mvn/extensions\.xml$ for manager maven
DEBUG: Using file match: (^|\/).mvn/wrapper/maven-wrapper.properties$ for manager maven-wrapper
DEBUG: Using file match: (^|/)package\.js$ for manager meteor
DEBUG: Using file match: (^|/)Mintfile$ for manager mint
DEBUG: Using file match: (^|/)\.?mise\.toml$ for manager mise
DEBUG: Using file match: (^|/)\.?mise/config\.toml$ for manager mise
DEBUG: Using file match: (^|/)mix\.exs$ for manager mix
DEBUG: Using file match: (^|/)flake\.nix$ for manager nix
DEBUG: Using file match: (^|/)\.node-version$ for manager nodenv
DEBUG: Using file match: (^|/)package\.json$ for manager npm
DEBUG: Using file match: \.(?:cs|fs|vb)proj$ for manager nuget
DEBUG: Using file match: \.(?:props|targets)$ for manager nuget
DEBUG: Using file match: (^|/)dotnet-tools\.json$ for manager nuget
DEBUG: Using file match: (^|/)global\.json$ for manager nuget
DEBUG: Using file match: (^|/)\.nvmrc$ for manager nvm
DEBUG: Using file match: (^|/)src/main/features/.+\.json$ for manager osgi
DEBUG: Using file match: (^|/)pyproject\.toml$ for manager pep621
DEBUG: Using file match: (^|/)[\w-]*requirements([-.]\w+)?\.(txt|pip)$ for manager pip_requirements
DEBUG: Using file match: (^|/)setup\.py$ for manager pip_setup
DEBUG: Using file match: (^|/)Pipfile$ for manager pipenv
DEBUG: Using file match: (^|/)pyproject\.toml$ for manager poetry
DEBUG: Using file match: (^|/)\.pre-commit-config\.ya?ml$ for manager pre-commit
DEBUG: Using file match: (^|/)pubspec\.ya?ml$ for manager pub
DEBUG: Using file match: (^|/)Puppetfile$ for manager puppet
DEBUG: Using file match: (^|/)\.python-version$ for manager pyenv
DEBUG: Using file match: (^|/)\.ruby-version$ for manager ruby-version
DEBUG: Using file match: (^|/)runtime.txt$ for manager runtime-version
DEBUG: Using file match: \.sbt$ for manager sbt
DEBUG: Using file match: project/[^/]*\.scala$ for manager sbt
DEBUG: Using file match: project/build\.properties$ for manager sbt
DEBUG: Using file match: (^|/)repositories$ for manager sbt
DEBUG: Using file match: (^|/)\.scalafmt.conf$ for manager scalafmt
DEBUG: Using file match: (^|/)setup\.cfg$ for manager setup-cfg
DEBUG: Using file match: (^|/)Package\.swift for manager swift
DEBUG: Using file match: \.tf$ for manager terraform
DEBUG: Using file match: (^|/)\.terraform-version$ for manager terraform-version
DEBUG: Using file match: (^|/)terragrunt\.hcl$ for manager terragrunt
DEBUG: Using file match: (^|/)\.terragrunt-version$ for manager terragrunt-version
DEBUG: Using file match: \.tflint\.hcl$ for manager tflint-plugin
DEBUG: Using file match: ^\.travis\.ya?ml$ for manager travis
DEBUG: Using file match: (^|/)\.vela\.ya?ml$ for manager velaci
DEBUG: Using file match: (^|/)vendir\.yml$ for manager vendir
DEBUG: Using file match: ^\.woodpecker(?:/[^/]+)?\.ya?ml$ for manager woodpecker
DEBUG: Matched 1 file(s) for manager pep621: pyproject.toml
DEBUG: Matched 1 file(s) for manager poetry: pyproject.toml
DEBUG: Poetry: error parsing pyproject.toml
{
  "packageFile": "pyproject.toml"
  "err": {
    "message": "Schema error",
    "stack": "ZodError: Schema error\n    at Object.get error [as error] (/usr/local/renovate/node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/types.js:55:31)\n    at fromZodResult (/usr/local/renovate/lib/util/result.ts:55:67)\n    at Function.parse (/usr/local/renovate/lib/util/result.ts:561:12)\n    at Object.extractPackageFile (/usr/local/renovate/lib/modules/manager/poetry/extract.ts:19:36)\n    at extractPackageFile (/usr/local/renovate/lib/modules/manager/index.ts:75:9)\n    at getManagerPackageFiles (/usr/local/renovate/lib/workers/repository/extract/manager-files.ts:58:43)\n    at /usr/local/renovate/lib/workers/repository/extract/index.ts:57:28\n    at async Promise.all (index 1)\n    at extractAllDependencies (/usr/local/renovate/lib/workers/repository/extract/index.ts:54:26)\n    at extract (/usr/local/renovate/lib/workers/repository/process/extract-update.ts:140:28)\n    at extractDependencies (/usr/local/renovate/lib/workers/repository/process/index.ts:158:26)\n    at Object.renovateRepository (/usr/local/renovate/lib/workers/repository/index.ts:71:9)\n    at attributes.repository (/usr/local/renovate/lib/workers/global/index.ts:202:11)\n    at start (/usr/local/renovate/lib/workers/global/index.ts:187:7)\n    at /usr/local/renovate/lib/renovate.ts:19:22",
    "issues": {
      "tool": "Required"
    }
  }
}

DEBUG: manager extract durations (ms)
{
  "managers": {
    "poetry": 24,
    "pep621": 40
  }
}

DEBUG: Found pep621 package files
DEBUG: Found 1 package file(s)
INFO: Dependency extraction complete
{
  "baseBranch": "main"
  "stats": {
    "managers": {
      "pep621": {
        "fileCount": 1,
        "depCount": 2
      }
    },
    "total": {
      "fileCount": 1,
      "depCount": 2
    }
  }
}

DEBUG: hostRules: no authentication for pypi.org
DEBUG: Using queue: host=pypi.org, concurrency=16
DEBUG: PackageFiles.add() - Package file saved for base branch
{
  "baseBranch": "main"
}

DEBUG: Package releases lookups complete
{
  "baseBranch": "main"
}

DEBUG: branchifyUpgrades
DEBUG: detectSemanticCommits()
DEBUG: getCommitMessages
DEBUG: semanticCommits: detected "unknown"
DEBUG: semanticCommits: disabled
DEBUG: 2 flattened updates found: flask, pyscss
DEBUG: Returning 2 branch(es)
DEBUG: config.repoIsOnboarded=true
DEBUG: packageFiles with updates
{
  "baseBranch": "main"
  "config": {
    "pep621": [
      {
        "extractedConstraints": {
          "python": ">=3.11"
        },
        "deps": [
          {
            "packageName": "flask",
            "depName": "flask",
            "datasource": "pypi",
            "depType": "project.dependencies",
            "currentValue": "==3.0.3",
            "currentVersion": "3.0.3",
            "lockedVersion": "3.0.3",
            "updates": [
              {
                "bucket": "non-major",
                "newVersion": "3.1.0",
                "newValue": "==3.1.0",
                "releaseTimestamp": "2024-11-13T18:24:36.000Z",
                "newVersionAgeInDays": 5,
                "newMajor": 3,
                "newMinor": 1,
                "newPatch": 0,
                "updateType": "minor",
                "isRange": true,
                "branchName": "renovate/flask-3.x"
              }
            ],
            "versioning": "pep440",
            "warnings": [],
            "sourceUrl": "https://github.com/pallets/flask",
            "registryUrl": "https://pypi.org/pypi",
            "changelogUrl": "https://flask.palletsprojects.com/changes/",
            "currentVersionTimestamp": "2024-04-07T19:26:08.000Z",
            "currentVersionAgeInDays": 225,
            "isSingleVersion": true,
            "fixedVersion": "3.0.3"
          },
          {
            "packageName": "pyscss",
            "depName": "pyscss",
            "datasource": "pypi",
            "depType": "project.dependencies",
            "currentValue": ">=1.4.0",
            "lockedVersion": "1.4.0",
            "updates": [
              {
                "updateType": "pin",
                "isPin": true,
                "newValue": "==1.4.0",
                "newVersion": "1.4.0",
                "newMajor": 1,
                "branchName": "renovate/pin-dependencies"
              }
            ],
            "versioning": "pep440",
            "warnings": [],
            "sourceUrl": "https://github.com/Kronuz/pyScss",
            "registryUrl": "https://pypi.org/pypi",
            "currentVersion": "1.4.0",
            "currentVersionTimestamp": "2022-02-23T12:53:39.000Z",
            "currentVersionAgeInDays": 999,
            "fixedVersion": "1.4.0"
          }
        ],
        "packageFileVersion": "0.1.0",
        "packageFile": "pyproject.toml"
      }
    ]
  }
}

DEBUG: detectSemanticCommits()
DEBUG: semanticCommits: returning "disabled" from cache
DEBUG: processRepo()
DEBUG: Processing 2 branches: renovate/flask-3.x, renovate/pin-dependencies
DEBUG: Calculating hourly PRs remaining
DEBUG: currentHourStart=2024-11-19T07:00:00.000+00:00
DEBUG: PR hourly limit remaining: 2
DEBUG: Calculating prConcurrentLimit (10)
DEBUG: getBranchPr(renovate/pin-dependencies)
DEBUG: findPr(renovate/pin-dependencies, undefined, open)
DEBUG: getBranchPr(renovate/flask-3.x)
DEBUG: findPr(renovate/flask-3.x, undefined, open)
DEBUG: 0 PRs are currently open
DEBUG: PR concurrent limit remaining: 10
DEBUG: Calculated maximum PRs remaining this run: 2
DEBUG: PullRequests limit = 2
DEBUG: Calculating hourly PRs remaining
DEBUG: currentHourStart=2024-11-19T07:00:00.000+00:00
DEBUG: PR hourly limit remaining: 2
DEBUG: Calculating branchConcurrentLimit (10)
DEBUG: 0 already existing branches found: 
DEBUG: Branch concurrent limit remaining: 10
DEBUG: Calculated maximum branches remaining this run: 2
DEBUG: Branches limit = 2
DEBUG: syncBranchState() (branch="renovate/pin-dependencies")
DEBUG: syncBranchState(): Branch cache not found, creating minimal branchState (branch="renovate/pin-dependencies")
DEBUG: getBranchPr(renovate/pin-dependencies) (branch="renovate/pin-dependencies")
DEBUG: findPr(renovate/pin-dependencies, undefined, open) (branch="renovate/pin-dependencies")
DEBUG: branchExists=false (branch="renovate/pin-dependencies")
DEBUG: dependencyDashboardCheck=undefined (branch="renovate/pin-dependencies")
DEBUG: Check for closed PR because recreating closed PRs is disabled. (branch="renovate/pin-dependencies")
DEBUG: findPr(renovate/pin-dependencies, Pin dependency pyscss to ==1.4.0, !open) (branch="renovate/pin-dependencies")
DEBUG: prAlreadyExisted=false (branch="renovate/pin-dependencies")
DEBUG: Checking schedule(schedule=at any time, tz=null, now=2024-11-19T07:25:05.295Z) (branch="renovate/pin-dependencies")
DEBUG: No schedule defined (branch="renovate/pin-dependencies")
DEBUG: Branch needs creating (branch="renovate/pin-dependencies")
DEBUG: Using reuseExistingBranch: false (branch="renovate/pin-dependencies")
DEBUG: Setting current branch to main (branch="renovate/pin-dependencies")
DEBUG: latest commit (branch="renovate/pin-dependencies")
{
  "branchName": "main"
  "latestCommitDate": "2024-11-19T07:20:26Z"
}

DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (branch="renovate/pin-dependencies")
DEBUG: Starting search at index 205 (branch="renovate/pin-dependencies")
{
  "packageFile": "pyproject.toml"
  "depName": "pyscss"
}

DEBUG: Found match at index 205 (branch="renovate/pin-dependencies")
{
  "packageFile": "pyproject.toml"
  "depName": "pyscss"
}

DEBUG: Contents updated (branch="renovate/pin-dependencies")
{
  "packageFile": "pyproject.toml"
  "depName": "pyscss"
}

DEBUG: updateArtifacts for updatedPackageFiles (branch="renovate/pin-dependencies")
DEBUG: No pdm.lock found (branch="renovate/pin-dependencies")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /tmp/renovate/cache/containerbase (branch="renovate/pin-dependencies")
DEBUG: Using containerbase dynamic installs (branch="renovate/pin-dependencies")
DEBUG: Resolved stable matching version (branch="renovate/pin-dependencies")
{
  "toolName": "python"
  "constraint": ">=3.11"
  "resolvedVersion": "3.13.0"
}

DEBUG: Resolved stable matching version (branch="renovate/pin-dependencies")
{
  "toolName": "uv"
  "resolvedVersion": "0.5.2"
}

DEBUG: Executing command (branch="renovate/pin-dependencies")
{
  "command": "install-tool python 3.13.0"
}

DEBUG: exec completed (branch="renovate/pin-dependencies")
{
  "durationMs": 10296
  "stdout": "installing v2 tool python v3.13.0\n[07:25:05.674] INFO (62): Installing tool python@3.13.0...\nlinking tool python v3.13.0\nPython 3.13.0\npip 24.3.1 from /opt/containerbase/tools/python/3.13.0/lib/python3.13/site-packages/pip (python 3.13)\n[07:25:15.105] INFO (62): Install tool python succeeded in 9.4s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pin-dependencies")
{
  "command": "install-tool uv 0.5.2"
}

DEBUG: exec completed (branch="renovate/pin-dependencies")
{
  "durationMs": 3335
  "stdout": "[07:25:15.998] INFO (266): Installing pip uv@0.5.2...\nuv 0.5.2\n[07:25:18.110] INFO (266): Install tool uv succeeded in 2.1s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pin-dependencies")
{
  "command": "uv lock --upgrade-package pyscss"
}

DEBUG: exec completed (branch="renovate/pin-dependencies")
{
  "durationMs": 107
  "stdout": ""
  "stderr": "Using CPython 3.13.0 interpreter at: /opt/containerbase/tools/python/3.13.0/bin/python3\nResolved 13 packages in 47ms\nAdded enum34 v1.1.10\nAdded pathlib2 v2.3.7.post1\n"
}

DEBUG: Updated 1 package files (branch="renovate/pin-dependencies")
DEBUG: Updated 1 lock files (branch="renovate/pin-dependencies")
{
  "updatedArtifacts": [
    "uv.lock"
  ]
}

DEBUG: 2 file(s) to commit (branch="renovate/pin-dependencies")
DEBUG: Preparing files for committing to branch renovate/pin-dependencies (branch="renovate/pin-dependencies")
DEBUG: Setting git author name: renovate[bot] (branch="renovate/pin-dependencies")
DEBUG: Setting git author email: 29139614+renovate[bot]@users.noreply.github.com (branch="renovate/pin-dependencies")
DEBUG: git commit (branch="renovate/pin-dependencies")
{
  "deletedFiles": []
  "ignoredFiles": []
  "result": {
    "author": null,
    "branch": "renovate/pin-dependencies",
    "commit": "1656cdbb273369b9e56b03a75bd73c9ec0847152",
    "root": false,
    "summary": {
      "changes": 2,
      "insertions": 25,
      "deletions": 2
    }
  }
}

DEBUG: resetToCommit(2f1c024c0b487699e83495183be64bd42f84f10a) (branch="renovate/pin-dependencies")
DEBUG: Fetching branch renovate/pin-dependencies (branch="renovate/pin-dependencies")
DEBUG: Setting current branch to main (branch="renovate/pin-dependencies")
DEBUG: latest commit (branch="renovate/pin-dependencies")
{
  "branchName": "main"
  "latestCommitDate": "2024-11-19T07:20:26Z"
}

INFO: Branch created (branch="renovate/pin-dependencies")
{
  "commitSha": "9dcd42d5d9ed029e3d61fd328368709cbb8120d7"
}

DEBUG: Ensuring PR (branch="renovate/pin-dependencies")
DEBUG: There are 0 errors and 0 warnings (branch="renovate/pin-dependencies")
DEBUG: getBranchPr(renovate/pin-dependencies) (branch="renovate/pin-dependencies")
DEBUG: findPr(renovate/pin-dependencies, undefined, open) (branch="renovate/pin-dependencies")
DEBUG: findPr(renovate/pin-dependencies, undefined, closed) (branch="renovate/pin-dependencies")
DEBUG: Creating PR (branch="renovate/pin-dependencies")
{
  "prTitle": "Pin dependency pyscss to ==1.4.0"
}

DEBUG: Creating PR (branch="renovate/pin-dependencies")
{
  "title": "Pin dependency pyscss to ==1.4.0"
  "head": "samuelhwilliams:renovate/pin-dependencies"
  "base": "main"
  "draft": false
}

DEBUG: PR created (branch="renovate/pin-dependencies")
{
  "pr": 1
  "draft": false
}

DEBUG: Adding labels '' to #1 (branch="renovate/pin-dependencies")
INFO: PR created (branch="renovate/pin-dependencies")
{
  "pr": 1
  "prTitle": "Pin dependency pyscss to ==1.4.0"
}

DEBUG: addParticipants(pr=1) (branch="renovate/pin-dependencies")
DEBUG: setPrCache() (branch="renovate/pin-dependencies")
DEBUG: Created Pull Request #1 (branch="renovate/pin-dependencies")
DEBUG: PR is not configured for automerge (branch="renovate/pin-dependencies")
DEBUG: setBranchCommit() (branch="renovate/pin-dependencies")
DEBUG: syncBranchState() (branch="renovate/flask-3.x")
DEBUG: syncBranchState(): Branch cache not found, creating minimal branchState (branch="renovate/flask-3.x")
DEBUG: getBranchPr(renovate/flask-3.x) (branch="renovate/flask-3.x")
DEBUG: findPr(renovate/flask-3.x, undefined, open) (branch="renovate/flask-3.x")
DEBUG: branchExists=false (branch="renovate/flask-3.x")
DEBUG: dependencyDashboardCheck=undefined (branch="renovate/flask-3.x")
DEBUG: Check for closed PR because recreating closed PRs is disabled. (branch="renovate/flask-3.x")
DEBUG: findPr(renovate/flask-3.x, Update dependency flask to v3.1.0, !open) (branch="renovate/flask-3.x")
DEBUG: prAlreadyExisted=false (branch="renovate/flask-3.x")
DEBUG: Checking schedule(schedule=at any time, tz=null, now=2024-11-19T07:25:22.036Z) (branch="renovate/flask-3.x")
DEBUG: No schedule defined (branch="renovate/flask-3.x")
DEBUG: GET https://api.github.com/repos/samuelhwilliams/test-renovate-uv/branches/main/protection = (code=ERR_NON_2XX_3XX_RESPONSE, statusCode=404 retryCount=0, duration=68) (branch="renovate/flask-3.x")
DEBUG: No branch protection found for main (branch="renovate/flask-3.x")
DEBUG: Converting rebaseWhen=auto to rebaseWhen=conflicted because no rule for behind-base-branch applies (branch="renovate/flask-3.x")
DEBUG: Branch needs creating (branch="renovate/flask-3.x")
DEBUG: Using reuseExistingBranch: false (branch="renovate/flask-3.x")
DEBUG: Setting current branch to main (branch="renovate/flask-3.x")
DEBUG: latest commit (branch="renovate/flask-3.x")
{
  "branchName": "main"
  "latestCommitDate": "2024-11-19T07:20:26Z"
}

DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (branch="renovate/flask-3.x")
DEBUG: Starting search at index 184 (branch="renovate/flask-3.x")
{
  "packageFile": "pyproject.toml"
  "depName": "flask"
}

DEBUG: Found match at index 184 (branch="renovate/flask-3.x")
{
  "packageFile": "pyproject.toml"
  "depName": "flask"
}

DEBUG: Contents updated (branch="renovate/flask-3.x")
{
  "packageFile": "pyproject.toml"
  "depName": "flask"
}

DEBUG: updateArtifacts for updatedPackageFiles (branch="renovate/flask-3.x")
DEBUG: No pdm.lock found (branch="renovate/flask-3.x")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /tmp/renovate/cache/containerbase (branch="renovate/flask-3.x")
DEBUG: Using containerbase dynamic installs (branch="renovate/flask-3.x")
DEBUG: Resolved stable matching version (branch="renovate/flask-3.x")
{
  "toolName": "python"
  "constraint": ">=3.11"
  "resolvedVersion": "3.13.0"
}

DEBUG: Resolved stable matching version (branch="renovate/flask-3.x")
{
  "toolName": "uv"
  "resolvedVersion": "0.5.2"
}

DEBUG: Executing command (branch="renovate/flask-3.x")
{
  "command": "install-tool python 3.13.0"
}

DEBUG: exec completed (branch="renovate/flask-3.x")
{
  "durationMs": 499
  "stdout": "[07:25:22.679] INFO (367): Installing tool python@3.13.0...\ntool python v3.13.0 is already installed\ntool is already linked: python v3.13.0\n[07:25:22.804] INFO (367): Install tool python succeeded in 153ms.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/flask-3.x")
{
  "command": "install-tool uv 0.5.2"
}

DEBUG: exec completed (branch="renovate/flask-3.x")
{
  "durationMs": 287
  "stdout": "[07:25:23.047] INFO (412): Installing pip uv@0.5.2...\n[07:25:23.077] INFO (412): tool already installed\n    tool: \"uv\"\nuv 0.5.2\n[07:25:23.095] INFO (412): Install tool uv succeeded in 53ms.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/flask-3.x")
{
  "command": "uv lock --upgrade-package flask"
}

DEBUG: exec completed (branch="renovate/flask-3.x")
{
  "durationMs": 109
  "stdout": ""
  "stderr": "Using CPython 3.13.0 interpreter at: /opt/containerbase/tools/python/3.13.0/bin/python3\nResolved 13 packages in 30ms\nUpdated blinker v1.8.2 -> v1.9.0\nAdded enum34 v1.1.10\nUpdated flask v3.0.3 -> v3.1.0\nAdded pathlib2 v2.3.7.post1\n"
}

DEBUG: Updated 1 package files (branch="renovate/flask-3.x")
DEBUG: Updated 1 lock files (branch="renovate/flask-3.x")
{
  "updatedArtifacts": [
    "uv.lock"
  ]
}

DEBUG: 2 file(s) to commit (branch="renovate/flask-3.x")
DEBUG: Preparing files for committing to branch renovate/flask-3.x (branch="renovate/flask-3.x")
DEBUG: git commit (branch="renovate/flask-3.x")
{
  "deletedFiles": []
  "ignoredFiles": []
  "result": {
    "author": null,
    "branch": "renovate/flask-3.x",
    "commit": "72ad5a56db595e86b919449a618d1b43d8d5418b",
    "root": false,
    "summary": {
      "changes": 2,
      "insertions": 31,
      "deletions": 0
    }
  }
}

DEBUG: resetToCommit(2f1c024c0b487699e83495183be64bd42f84f10a) (branch="renovate/flask-3.x")
DEBUG: Fetching branch renovate/flask-3.x (branch="renovate/flask-3.x")
DEBUG: Setting current branch to main (branch="renovate/flask-3.x")
DEBUG: latest commit (branch="renovate/flask-3.x")
{
  "branchName": "main"
  "latestCommitDate": "2024-11-19T07:20:26Z"
}

INFO: Branch created (branch="renovate/flask-3.x")
{
  "commitSha": "03db6841b96e48b65d8bda05e4969590aa73cf7f"
}

DEBUG: Ensuring PR (branch="renovate/flask-3.x")
DEBUG: There are 0 errors and 0 warnings (branch="renovate/flask-3.x")
DEBUG: getBranchPr(renovate/flask-3.x) (branch="renovate/flask-3.x")
DEBUG: findPr(renovate/flask-3.x, undefined, open) (branch="renovate/flask-3.x")
DEBUG: findPr(renovate/flask-3.x, undefined, closed) (branch="renovate/flask-3.x")
DEBUG: Fetching changelog: https://github.com/pallets/flask (3.0.3 -> 3.1.0) (branch="renovate/flask-3.x")
DEBUG: Creating PR (branch="renovate/flask-3.x")
{
  "prTitle": "Update dependency flask to v3.1.0"
}

DEBUG: Creating PR (branch="renovate/flask-3.x")
{
  "title": "Update dependency flask to v3.1.0"
  "head": "samuelhwilliams:renovate/flask-3.x"
  "base": "main"
  "draft": false
}

DEBUG: PR created (branch="renovate/flask-3.x")
{
  "pr": 2
  "draft": false
}

DEBUG: Adding labels '' to #2 (branch="renovate/flask-3.x")
INFO: PR created (branch="renovate/flask-3.x")
{
  "pr": 2
  "prTitle": "Update dependency flask to v3.1.0"
}

DEBUG: addParticipants(pr=2) (branch="renovate/flask-3.x")
DEBUG: setPrCache() (branch="renovate/flask-3.x")
DEBUG: Created Pull Request #2 (branch="renovate/flask-3.x")
DEBUG: PR is not configured for automerge (branch="renovate/flask-3.x")
DEBUG: setBranchCommit() (branch="renovate/flask-3.x")
DEBUG: getBranchPr(renovate/pin-dependencies)
DEBUG: findPr(renovate/pin-dependencies, undefined, open)
DEBUG: Found PR #1
DEBUG: getBranchPr(renovate/flask-3.x)
DEBUG: findPr(renovate/flask-3.x, undefined, open)
DEBUG: Found PR #2
DEBUG: http cache: saving https://api.github.com/repos/samuelhwilliams/test-renovate-uv/contents/renovate.json (etag=W/"6a5c01cafe52a72cb5366e365025ba93b34defbe", lastModified=Tue, 19 Nov 2024 07:20:26 GMT)
DEBUG: Config does not need migration
DEBUG: ensureDependencyDashboard()
DEBUG: Ensuring Dependency Dashboard
DEBUG: Checking packageFiles for deprecated packages
DEBUG: ensureIssue(Dependency Dashboard)
INFO: Issue created
DEBUG: validateReconfigureBranch()
DEBUG: No reconfigure branch found
DEBUG: Removing any stale branches
DEBUG: config.repoIsOnboarded=true
DEBUG: Branch lists
{
  "branchList": [
    "renovate/flask-3.x",
    "renovate/pin-dependencies"
  ]
  "renovateBranches": [
    "renovate/flask-3.x",
    "renovate/pin-dependencies"
  ]
}

DEBUG: remainingBranches=
DEBUG: No branches to clean up
DEBUG: Cleaning up Renovate refs: refs/renovate/*
DEBUG: PackageFiles.clear() - Package files deleted
DEBUG: Branch summary
{
  "baseBranches": [
    {
      "branchName": "main",
      "sha": "2f1c024c0b487699e83495183be64bd42f84f10a"
    }
  ]
  "branches": [
    {
      "automerge": false,
      "baseBranch": "main",
      "baseBranchSha": "2f1c024c0b487699e83495183be64bd42f84f10a",
      "branchName": "renovate/pin-dependencies",
      "branchSha": "9dcd42d5d9ed029e3d61fd328368709cbb8120d7",
      "isModified": false,
      "isPristine": true
    },
    {
      "automerge": false,
      "baseBranch": "main",
      "baseBranchSha": "2f1c024c0b487699e83495183be64bd42f84f10a",
      "branchName": "renovate/flask-3.x",
      "branchSha": "03db6841b96e48b65d8bda05e4969590aa73cf7f",
      "isModified": false,
      "isPristine": true
    }
  ]
  "defaultBranch": "main"
  "inactiveBranches": []
}

DEBUG: branches info extended
{
  "branchesInformation": [
    {
      "branchName": "renovate/pin-dependencies",
      "prNo": 1,
      "prTitle": "Pin dependency pyscss to ==1.4.0",
      "result": "pr-created",
      "upgrades": [
        {
          "datasource": "pypi",
          "depName": "pyscss",
          "displayPending": "",
          "fixedVersion": "1.4.0",
          "currentVersion": "1.4.0",
          "currentValue": ">=1.4.0",
          "newValue": "==1.4.0",
          "newVersion": "1.4.0",
          "packageFile": "pyproject.toml",
          "updateType": "pin",
          "packageName": "pyscss"
        }
      ]
    },
    {
      "branchName": "renovate/flask-3.x",
      "prNo": 2,
      "prTitle": "Update dependency flask to v3.1.0",
      "result": "pr-created",
      "upgrades": [
        {
          "datasource": "pypi",
          "depName": "flask",
          "displayPending": "",
          "fixedVersion": "3.0.3",
          "currentVersion": "3.0.3",
          "currentValue": "==3.0.3",
          "newValue": "==3.1.0",
          "newVersion": "3.1.0",
          "packageFile": "pyproject.toml",
          "updateType": "minor",
          "packageName": "flask"
        }
      ]
    }
  ]
}

DEBUG: Renovate repository PR statistics
{
  "stats": {
    "total": 2,
    "open": 2,
    "closed": 0,
    "merged": 0
  }
}

DEBUG: Repository result: done, status: onboarded, enabled: true, onboarded: true
DEBUG: Repository timing splits (milliseconds)
{
  "splits": {
    "init": 3106,
    "extract": 531,
    "lookup": 275,
    "onboarding": 1,
    "update": 20549
  }
  "total": 25506
}

DEBUG: Package cache statistics
{
  "get": {
    "count": 7,
    "avgMs": 2,
    "medianMs": 1,
    "maxMs": 7,
    "totalMs": 12
  }
  "set": {
    "count": 2,
    "avgMs": 2,
    "medianMs": 2,
    "maxMs": 2,
    "totalMs": 4
  }
}

DEBUG: Datasource cache statistics
{
  "pypi": {
    "https://pypi.org/pypi": {
      "hit": 2,
      "miss": 1,
      "set": 1,
      "skip": 0
    }
  }
}

DEBUG: HTTP statistics
{
  "hosts": {
    "api.github.com": {
      "count": 18,
      "reqAvgMs": 225,
      "reqMedianMs": 163,
      "reqMaxMs": 756,
      "queueAvgMs": 0,
      "queueMedianMs": 0,
      "queueMaxMs": 2
    },
    "pypi.org": {
      "count": 1,
      "reqAvgMs": 63,
      "reqMedianMs": 63,
      "reqMaxMs": 63,
      "queueAvgMs": 1,
      "queueMedianMs": 1,
      "queueMaxMs": 1
    }
  }
  "requests": 19
}

DEBUG: HTTP cache statistics
{
  "https://api.github.com": {
    "/repos/samuelhwilliams/test-renovate-uv/contents/renovate.json": {
      "hit": 0,
      "miss": 1
    },
    "/repos/samuelhwilliams/test-renovate-uv/pulls": {
      "hit": 0,
      "miss": 1
    }
  }
}

DEBUG: Lookup statistics
{
  "pypi": {
    "count": 2,
    "avgMs": 80,
    "medianMs": 96,
    "maxMs": 96,
    "totalMs": 159
  }
}

INFO: Repository finished
{
  "cloned": true
  "durationMs": 25506
}

@charliermarsh
Copy link
Member

Ah, we generally don't respect upper-bounds on requires-python in transitive dependencies. There's a lot written about this in places like #4022 (comment). I suspect that's what you're seeing here?

@charliermarsh charliermarsh added the question Asking for clarification or support label Nov 19, 2024
@samuelhwilliams
Copy link
Author

I've had a bit of a read through that linked conversation and I think it's a slightly different thing. Apologies if I'm misunderstanding.

I think what you're saying, and what that conversation is broadly talking about, is: if a transitive dependency says it's not compatible with eg python 3.4+, that upper bound is broadly ignored.

This feels slightly different - pyscss is saying: "I only need this dependency if you're using Python <3.4".

So it's not really that the transitive dependency has an upper bound on requires-python, I think, it's that the dependency isn't required at all on some python versions.

But maybe that distinction isn't relevant here and both are treated the same way?

Either way - also slightly curious about why the lockfile would be different on Renovate's system compared to mine 🤔

@RazerM
Copy link

RazerM commented Nov 21, 2024

pyscss doesn't use environment markers, it looks at sys.version_info when setup.py runs, and since the sdist on pypi was made by Python < 3.4, its metadata includes the dependencies as if they're always needed.

https://github.com/Kronuz/pyScss/blob/73559d047706ccd4593cf6aa092de71f35164723/setup.py#L17-L20

I assume the difference locally is because you installed the package which populated the cache with a wheel that has the correct metadata.

github-actions bot added a commit to communitiesuk/funding-service-design-frontend that referenced this issue Nov 22, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-frontend that referenced this issue Nov 22, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-frontend that referenced this issue Nov 22, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-frontend that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-frontend that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-fund-application-builder that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 25, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
github-actions bot added a commit to communitiesuk/funding-service-design-authenticator that referenced this issue Nov 26, 2024
When running in Renovate, uv is incorrectly including enum34 and pathlib2 as
transitive dependencies of pyscss. pyscss only requires these for python
versions below 3.4, but something in the dependency resolver is getting
this wrong.

astral-sh/uv#9217

A fix doesn't seem to be coming imminently.

pyscss is a very old and unmaintained package that we should probably
look to move away from sooner or later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Asking for clarification or support
Projects
None yet
Development

No branches or pull requests

3 participants