Skip to content

All attempts to connect to pypi.org failed. With python 3.13 #12066

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

Open
1 task done
TheSuperiorStanislav opened this issue Apr 16, 2025 · 19 comments · May be fixed by github/dependabot-action#1467
Open
1 task done

All attempts to connect to pypi.org failed. With python 3.13 #12066

TheSuperiorStanislav opened this issue Apr 16, 2025 · 19 comments · May be fixed by github/dependabot-action#1467
Assignees
Labels
L: elm Elm packages L: github:actions GitHub Actions L: go:modules Golang modules L: python L: ruby:bundler RubyGems via bundler T: bug 🐞 Something isn't working

Comments

@TheSuperiorStanislav
Copy link

TheSuperiorStanislav commented Apr 16, 2025

Is there an existing issue for this?

  • I have searched the existing issues

Package ecosystem

pip

Package manager version

2.1.1

Language version

3.13

Manifest location and content before the Dependabot update

Repository:
https://github.com/TheSuperiorStanislav/test-dependabot

pyproject.toml

[tool.poetry]
package-mode = false

[tool.poetry.dependencies]
python = "^3.13"
rich = "^13.0.0"

poetry.lock

# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand.

[[package]]
name = "markdown-it-py"
version = "3.0.0"
description = "Python port of markdown-it. Markdown parsing, done right!"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
    {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
    {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
]

[package.dependencies]
mdurl = ">=0.1,<1.0"

[package.extras]
benchmarking = ["psutil", "pytest", "pytest-benchmark"]
code-style = ["pre-commit (>=3.0,<4.0)"]
compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"]
linkify = ["linkify-it-py (>=1,<3)"]
plugins = ["mdit-py-plugins"]
profiling = ["gprof2dot"]
rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]

[[package]]
name = "mdurl"
version = "0.1.2"
description = "Markdown URL utilities"
optional = false
python-versions = ">=3.7"
groups = ["main"]
files = [
    {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
    {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
]

[[package]]
name = "pygments"
version = "2.19.1"
description = "Pygments is a syntax highlighting package written in Python."
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
    {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"},
    {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"},
]

[package.extras]
windows-terminal = ["colorama (>=0.4.6)"]

[[package]]
name = "rich"
version = "13.9.4"
description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
optional = false
python-versions = ">=3.8.0"
groups = ["main"]
files = [
    {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"},
    {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"},
]

[package.dependencies]
markdown-it-py = ">=2.2.0"
pygments = ">=2.13.0,<3.0.0"

[package.extras]
jupyter = ["ipywidgets (>=7.5.1,<9)"]

[metadata]
lock-version = "2.1"
python-versions = "^3.13"
content-hash = "a5407b895237c5fef0e64ac675714ec98a2e83ff3d77979377b4b9baa2ad0d04"

dependabot.yml content

# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: github-actions
  directories:
    - "/.github/workflows"
    - "/.github/actions/**/"
  schedule:
    interval: monthly
    time: "21:00"
    day: "monday"
  commit-message:
    prefix: "[automated-commit] "
  labels:
    - "automated-pr"
  groups:
    github-actions:
      patterns:
      - "*"
- package-ecosystem: pip
  directory: "/"
  schedule:
    interval: weekly
    time: "21:00"
    day: "monday"
  commit-message:
    prefix: "[automated-commit] "
  labels:
    - "automated-pr"
  groups:
    pip:
      patterns:
      - "*"
  allow:
    - dependency-name: "*"
      dependency-type: "all"

Updated dependency

No response

What you expected to see, versus what you actually saw

Expected: Dependabot creates pr, and action is okay
Actual: dependabot fails to update any dependency, but if i specify python 3.12 dependabot works

Native package manager behavior

No response

Images of the diff or a link to the PR, issue, or logs

updater | 2025/04/15 01:50:29 INFO <job_998724162> Started process PID: 2965 with command: {} pyenv exec poetry update django-extensions --lock --no-interaction {}
  proxy | 2025/04/15 01:50:31 [020] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
  proxy | 2025/04/15 01:50:32 [021] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
  proxy | 2025/04/15 01:50:33 [022] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
  proxy | 2025/04/15 01:50:34 [023] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
  proxy | 2025/04/15 01:50:36 [024] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
  proxy | 2025/04/15 01:50:39 [025] WARN: Cannot handshake client pypi.org:443 local error: tls: bad record MAC
updater | 2025/04/15 01:50:39 INFO <job_998724162> Process PID: 2965 completed with status: pid 2965 exit 1
2025/04/15 01:50:39 INFO <job_998724162> Total execution time: 9.88 seconds
updater | 2025/04/15 01:50:39 WARN <job_998724162> Creating virtualenv non-package-mode-cuwcJ7sL-py3.13 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

All attempts to connect to pypi.org failed.

Probable Causes:
    - the server is not responding to requests at the moment
    - the hostname cannot be resolved by your DNS
    - your network is not connected to the internet

You can also run your poetry command with -v to see more information.
updater | 2025/04/15 01:50:39 INFO <job_998724162> Adding dependencies as handled: (django-extensions).
  proxy | 2025/04/15 01:50:39 [027] POST /update_jobs/998724162/record_update_job_unknown_error
  proxy | 2025/04/15 01:50:39 [027] 204 /update_jobs/998724162/record_update_job_unknown_error
  proxy | 2025/04/15 01:50:39 [029] POST /update_jobs/998724162/record_update_job_error
  proxy | 2025/04/15 01:50:39 [029] 204 /update_jobs/998724162/record_update_job_error
  proxy | 2025/04/15 01:50:39 [031] POST /update_jobs/998724162/increment_metric
  proxy | 2025/04/15 01:50:39 [031] 204 /update_jobs/998724162/increment_metric
  proxy | 2025/04/15 01:50:39 [033] POST /update_jobs/998724162/record_update_job_unknown_error
  proxy | 2025/04/15 01:50:39 [033] 204 /update_jobs/998724162/record_update_job_unknown_error
updater | 2025/04/15 01:50:39 ERROR <job_998724162> Error processing django-extensions (Dependabot::SharedHelpers::HelperSubprocessFailed)
2025/04/15 01:50:39 ERROR <job_998724162> Creating virtualenv non-package-mode-cuwcJ7sL-py3.13 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

All attempts to connect to pypi.org failed.

Probable Causes:
    - the server is not responding to requests at the moment
    - the hostname cannot be resolved by your DNS
    - your network is not connected to the internet

You can also run your poetry command with -v to see more information.
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/shared_helpers.rb:488:in `run_shell_command'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:179:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:179:in `validate_call_skip_block_type'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:121:in `block in create_validator_slow_skip_block_type'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:329:in `run_poetry_command'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:167:in `run_poetry_update_command'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:103:in `block (2 levels) in fetch_latest_resolvable_version_string'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/shared_helpers.rb:302:in `with_git_configured'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:93:in `block in fetch_latest_resolvable_version_string'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/shared_helpers.rb:81:in `block in in_a_temporary_directory'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/shared_helpers.rb:81:in `chdir'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/shared_helpers.rb:81:in `in_a_temporary_directory'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:203:in `block in create_validator_slow'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:92:in `fetch_latest_resolvable_version_string'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker/poetry_version_resolver.rb:65:in `latest_resolvable_version'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/python/lib/dependabot/python/update_checker.rb:44:in `latest_resolvable_version'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/update_checkers/base.rb:133:in `preferred_resolvable_version'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/update_checkers/base.rb:350:in `preferred_version_resolvable_with_unlock?'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/update_checkers/base.rb:341:in `numeric_version_can_update?'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/update_checkers/base.rb:284:in `version_can_update?'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/common/lib/dependabot/update_checkers/base.rb:100:in `can_update?'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:378:in `requirements_to_unlock'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:[234](https://github.com/saritasa-nest/saritasa-crm-delmar-v2-core-backend/actions/runs/14459482272/job/40549292609#step:3:236):in `compile_updates_for'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation_2_7.rb:1102:in `bind_call'
2025/04/15 01:50:39 ERROR <job_9987[241](https://github.com/saritasa-nest/saritasa-crm-delmar-v2-core-backend/actions/runs/14459482272/job/40549292609#step:3:243)62> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation_2_7.rb:1102:in `block in create_validator_method_medium3'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:91:in `block in compile_all_dependency_changes_for'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:62:in `each'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:62:in `compile_all_dependency_changes_for'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/create_group_update_pull_request.rb:99:in `dependency_change'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/create_group_update_pull_request.rb:61:in `perform'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:117:in `run_grouped_update_for'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:[277](https://github.com/saritasa-nest/saritasa-crm-delmar-v2-core-backend/actions/runs/14459482272/job/40549292609#step:3:279):in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:103:in `block in run_grouped_dependency_updates'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:102:in `each'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:102:in `run_grouped_dependency_updates'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:[282](https://github.com/saritasa-nest/saritasa-crm-delmar-v2-core-backend/actions/runs/14459482272/job/40549292609#step:3:284):in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:64:in `perform'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `bind_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/call_validation.rb:282:in `validate_call'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/sorbet-runtime-0.5.11952/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/updater.rb:45:in `run'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/update_files_command.rb:45:in `block in perform_job'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/opentelemetry-api-1.5.0/lib/opentelemetry/trace/tracer.rb:37:in `block in in_span'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/opentelemetry-api-1.5.0/lib/opentelemetry/trace.rb:70:in `block in with_span'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/opentelemetry-api-1.5.0/lib/opentelemetry/context.rb:88:in `with_value'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/opentelemetry-api-1.5.0/lib/opentelemetry/trace.rb:70:in `with_span'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/vendor/ruby/3.3.0/gems/opentelemetry-api-1.5.0/lib/opentelemetry/trace/tracer.rb:37:in `in_span'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/update_files_command.rb:18:in `perform_job'
2025/04/15 01:50:39 ERROR <job_998724162> /home/dependabot/dependabot-updater/lib/dependabot/base_command.rb:37:in `run'
updater | 2025/04/15 01:50:39 ERROR <job_998724162> bin/update_files.rb:46:in `<main>'

Smallest manifest that reproduces the issue

No response

@TheSuperiorStanislav TheSuperiorStanislav added the T: bug 🐞 Something isn't working label Apr 16, 2025
@github-actions github-actions bot added L: elm Elm packages L: github:actions GitHub Actions L: go:modules Golang modules L: python L: ruby:bundler RubyGems via bundler labels Apr 16, 2025
@TheSuperiorStanislav TheSuperiorStanislav changed the title All attempts to connect to pypi.org failed. All attempts to connect to pypi.org failed. With python 3.13 Apr 21, 2025
@cha0tic3ra
Copy link

Hey we are running into this same issue, is there any update from Dependabot team?

@Paul-B98
Copy link

Are there any updates or known workarounds?

@abdulapopoola abdulapopoola marked this as a duplicate of #11352 Apr 30, 2025
@thavaahariharangit thavaahariharangit self-assigned this Apr 30, 2025
@thavaahariharangit thavaahariharangit moved this to In Progress in Dependabot Apr 30, 2025
@thavaahariharangit
Copy link
Contributor

thavaahariharangit commented Apr 30, 2025

The customer-reported error has been successfully reproduced: https://github.com/dsp-testing/python_3_13_pypi_org_failed/actions/runs/14758285854/job/41432185587

Further investigation is required.

@thavaahariharangit
Copy link
Contributor

Observations:

  • In the context of Python Dependabot, Docker isn't performing a fresh Python installation. Instead, it simply copies the contents from the Python Bookworm image.
    Reference: Dependabot Dockerfile - Relevant Lines.

Current Issue:

  • We are encountering a certificate-related error when connecting to pypi.org:
Exception:
    | HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/rich/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)')))

Suspected Root Cause:

  • It appears that the proxy is attempting to connect to pypi.org using the Bookworm certificate, which may be causing the issue due to a self-signed certificate in the chain.

Next Steps:

  • Further investigation is needed to pinpoint the exact issue and resolve this certificate error.

@thavaahariharangit
Copy link
Contributor

No, the SSL error certificate verify failed: CA cert does not include key usage extension is not directly related to copying the Python installation from the python:3.13-bookworm image.

Here's why:

  1. The Source of the Error: The error originates from the Dependabot Internal CA certificate itself. This certificate, used by the MITM proxy, is missing a critical property (keyUsage extension) required for it to be recognized as a valid Certificate Authority by Python's SSL library.
  2. Python's Role: The Python 3.13 installation (copied from the Bookworm image) includes the ssl module that performs the certificate validation. This module enforces the rule that a CA certificate must have the correct keyUsage extension. It's the checker, not the cause of the certificate's defect.
  3. Bookworm Image: Copying from the Bookworm image provides the Python runtime and its standard libraries. It doesn't provide or influence the internal CA certificate used by your proxy infrastructure.

In short, the problem lies with how the internal CA certificate was generated, not with the Python version or its source image. The Python environment is simply (correctly) refusing to trust an improperly configured CA certificate.

@Paul-B98
Copy link

Paul-B98 commented May 2, 2025

@thavaahariharangit Thanks for the explanation but how would I solve this using the standard github action ci (normal github runner).

@Paul-B98
Copy link

Paul-B98 commented May 4, 2025

FYI: I add a discussion for this issue on github actions forum

@Paul-B98
Copy link

Paul-B98 commented May 5, 2025

@thavaahariharangit any updates?

@Paul-B98
Copy link

Paul-B98 commented May 7, 2025

@abdulapopoola do you have any updates on this task?

@nierob
Copy link

nierob commented May 7, 2025

I have asked support about that. They have a reproducer, so hopefully it will be fixed soon.

@thavaahariharangit
Copy link
Contributor

@Paul-B98 Due to the London bank holidays, I’ve just returned. I identified the issue—it’s related to the SSL certificate—but couldn’t find a solution on Friday. I’m picking it up again today.

@Paul-B98
Copy link

Paul-B98 commented May 7, 2025

@thavaahariharangit Thanks for the reply and sorry for the impatience.

@thavaahariharangit
Copy link
Contributor

Some Findings

dependabot@92f56188ad8a:~/dependabot-updater/repo$ cat > test_httpx_tls.py <<EOF
import httpx

url = "https://pypi.org/simple/rich/"

try:
    with httpx.Client(verify=False) as client:  # Disable SSL verification
        response = client.get(url)
        print("Success:", response.status_code)
except httpx.HTTPError as e:
    print("HTTP error:", e)
except Exception as e:
    print("Other error:", e)
EOF
dependabot@92f56188ad8a:~/dependabot-updater/repo$ pyenv exec python test_httpx_tls.py
Success: 200
dependabot@92f56188ad8a:~/dependabot-updater/repo$ pyenv exec poetry update rich --lock --no-interaction -vvv
[findpython:findpython] Running script: ['/usr/local/.pyenv/versions/3.13.2/bin/python', '-EsSc', 'import sys; print(sys.executable)']
Found: /usr/local/.pyenv/versions/3.13.2/bin/python
[findpython:findpython] Running script: ['/usr/local/.pyenv/versions/3.13.2/bin/python', '-EsSc', 'import platform; print(platform.python_version())']
Using virtualenv: /home/dependabot/.cache/pypoetry/virtualenvs/non-package-mode-AAlt7256-py3.13
Checking keyring availability: Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Backend 'fail Keyring' is not suitable
No valid keyring backend was found
Unavailable
Updating dependencies
Resolving dependencies...
   1: fact: non-package-mode is 0
   1: derived: non-package-mode
   1: fact: non-package-mode depends on rich (^13.0.0)
   1: selecting non-package-mode (0)
   1: derived: rich (>=13.0.0,<14.0.0)
Creating new session for pypi.org
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (1): pypi.org:443
Retrying HTTP request in 0.5 seconds.
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (2): pypi.org:443
Retrying HTTP request in 1.0 seconds.
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (3): pypi.org:443
Retrying HTTP request in 1.5 seconds.
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (4): pypi.org:443
Retrying HTTP request in 2.0 seconds.
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (5): pypi.org:443
Retrying HTTP request in 2.5 seconds.
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (6): pypi.org:443
   1: Version solving took 7.813 seconds.
   1: Tried 1 solutions.

All attempts to connect to pypi.org failed.

Exception:
    | HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/rich/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)')))

Probable Causes:
    - the server is not responding to requests at the moment
    - the hostname cannot be resolved by your DNS
    - your network is not connected to the internet

Note: The path requested was /simple/rich/.

dependabot@92f56188ad8a:~/dependabot-updater/repo$ 

@thavaahariharangit
Copy link
Contributor

Another observation:

dependabot@4bd0b07d9fdb:~/dependabot-updater/repo$ pyenv exec poetry run pip install rich
Creating virtualenv non-package-mode-AAlt7256-py3.13 in /home/dependabot/.cache/pypoetry/virtualenvs
Collecting rich
  Downloading rich-14.0.0-py3-none-any.whl.metadata
     - 18.3 kB ? 0:00:00
Collecting markdown-it-py>=2.2.0 (from rich)
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata
     - 6.9 kB ? 0:00:00
Collecting pygments<3.0.0,>=2.13.0 (from rich)
  Downloading pygments-2.19.1-py3-none-any.whl.metadata
     - 2.5 kB ? 0:00:00
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich)
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata
     - 1.6 kB ? 0:00:00
Downloading rich-14.0.0-py3-none-any.whl
   - 243.2 kB 239.3 MB/s 0:00:00
Downloading pygments-2.19.1-py3-none-any.whl
   - 1.2 MB 229.8 MB/s 0:00:00
Downloading markdown_it_py-3.0.0-py3-none-any.whl
   - 87.5 kB 238.8 MB/s 0:00:00
Downloading mdurl-0.1.2-py3-none-any.whl
   - 10.0 kB ? 0:00:00
Installing collected packages: pygments, mdurl, markdown-it-py, rich
Successfully installed markdown-it-py-3.0.0 mdurl-0.1.2 pygments-2.19.1 rich-14.0.0

As shown above, installing the rich package via pip using poetry run works correctly — the packages are downloaded and installed without any issue.

However, running:

dependabot@4bd0b07d9fdb:~/dependabot-updater/repo$ pyenv exec poetry update rich --lock --no-interaction
Updating dependencies
Resolving dependencies... (7.5s)

All attempts to connect to pypi.org failed.

Probable Causes:
    - the server is not responding to requests at the moment
    - the hostname cannot be resolved by your DNS
    - your network is not connected to the internet

You can also run your poetry command with -v to see more information.

dependabot@4bd0b07d9fdb:~/dependabot-updater/repo$ 

fails with the above error.

This suggests that poetry is not able to access the internet (specifically pypi.org) during the update command, even though pip works.

I suspect this is because poetry is not using the system certificate store or is not configured to trust the proxy's certificate. We'll need to investigate how to configure poetry (or its underlying requests) to trust the proxy certificate — possibly by pointing it to the custom CA bundle or setting appropriate environment variables like REQUESTS_CA_BUNDLE.

I feel the inorder to poetry update to happen we need to set the proxies certificate with the poetry update request. Need to figure out how to do that

@thavaahariharangit
Copy link
Contributor

thavaahariharangit commented May 8, 2025

Observations:

  1. Using verify=False succeeds
$ cat > test_httpx_tls.py <<EOF
import httpx

url = "https://pypi.org/simple/rich/"

try:
    with httpx.Client(verify=False) as client:
        response = client.get(url)
        print("Success:", response.status_code)
except httpx.HTTPError as e:
    print("HTTP error:", e)
except Exception as e:
    print("Other error:", e)
EOF
repo$ pyenv exec python test_httpx_tls.py 
Success: 200

Disabling SSL verification allows the request to go through, bypassing certificate validation.

  1. Using verify=True fails
repo$ cat > test_httpx_tls.py <<EOF
import httpx

url = "https://pypi.org/simple/rich/"

try:
    with httpx.Client(verify=True) as client:
        response = client.get(url)
        print("Success:", response.status_code)
except httpx.HTTPError as e:
    print("HTTP error:", e)
except Exception as e:
    print("Other error:", e)
EOF
repo$ pyenv exec python test_httpx_tls.py 
HTTP error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: CA cert does not include key usage extension (_ssl.c:1028)
dependabot@c4536edcbc06:~/dependabot-updater/repo$

The failure indicates an issue with certificate validation, specifically missing key usage extensions.

  1. Attempting to use a specific certificate (dependabot-internal.crt)
$ cat > test_httpx_tls.py <<EOF
import httpx

proxy_cert_path = "/usr/local/share/ca-certificates/dependabot-internal.crt"  # Adjust to the correct file
url = "https://pypi.org/simple/rich/"

try:
    with httpx.Client(verify=proxy_cert_path) as client:
        response = client.get(url)
        print("Success:", response.status_code)
except httpx.HTTPError as e:
    print("HTTP error:", e)
except Exception as e:
    print("Other error:", e)
EOF
repo$pyenv exec python test_httpx_tls.py 
HTTP error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: authority and subject key identifier mismatch (_ssl.c:1028)

The new error suggests a mismatch between the authority and subject key identifiers.

Possible Solutions:

  1. Verify the CA certificate is correctly configured Ensure /usr/local/share/ca-certificates/dependabot-internal.crt is correctly installed and recognized by the system.
  2. Manually specify a trusted certificate Try explicitly using a system-trusted certificate by pointing verify to a well-defined CA path.
  3. Use certifi to fetch valid root certificatespip install certifi
    Then update the script:
import certifi
with httpx.Client(verify=certifi.where()) as client:
  1. Check the certificate details
    openssl x509 -in /usr/local/share/ca-certificates/dependabot-internal.crt -text -noout
    Ensure that Authority Key Identifier and Subject Key Identifier are correctly aligned.

@thavaahariharangit
Copy link
Contributor

When I set REQUESTS_CA_BUNDLE to the default Certifi CA bundle provided by Python, even basic installs with Poetry and pip fail due to an SSL verification error

dependabot@67dd7ac0325e:~/dependabot-updater/repo$ export REQUESTS_CA_BUNDLE=/usr/local/.pyenv/versions/3.13.2/lib/python3.13/site-packages/certifi/cacert.pem
dependabot@67dd7ac0325e:~/dependabot-updater/repo$ pyenv exec poetry run pip install requests
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))': /simple/requests/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))': /simple/requests/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))': /simple/requests/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))': /simple/requests/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))': /simple/requests/
Could not fetch URL https://pypi.org/simple/requests/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/requests/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)'))) - skipping
ERROR: Could not find a version that satisfies the requirement requests (from versions: none)
ERROR: No matching distribution found for requests

However, when I switch to using the system certificate bundle,everything works — poetry run pip install requests completes successfully without SSL issues.

dependabot@67dd7ac0325e:~/dependabot-updater/repo$ export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
dependabot@67dd7ac0325e:~/dependabot-updater/repo$ pyenv exec poetry run pip install requests
Collecting requests
  Downloading requests-2.32.3-py3-none-any.whl.metadata
     - 4.6 kB ? 0:00:00
Collecting charset-normalizer<4,>=2 (from requests)
  Downloading charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
     - 35.7 kB 86.8 MB/s 0:00:00
Collecting idna<4,>=2.5 (from requests)
  Downloading idna-3.10-py3-none-any.whl.metadata
     - 10.2 kB ? 0:00:00
Collecting urllib3<3,>=1.21.1 (from requests)
  Downloading urllib3-2.4.0-py3-none-any.whl.metadata
     - 6.5 kB ? 0:00:00
Collecting certifi>=2017.4.17 (from requests)
  Downloading certifi-2025.4.26-py3-none-any.whl.metadata
     - 2.5 kB ? 0:00:00
Downloading requests-2.32.3-py3-none-any.whl
   - 64.9 kB 223.7 MB/s 0:00:00
Downloading charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   - 148.2 kB 284.0 MB/s 0:00:00
Downloading idna-3.10-py3-none-any.whl
   - 70.4 kB 312.5 MB/s 0:00:00
Downloading urllib3-2.4.0-py3-none-any.whl
   - 128.7 kB 278.0 MB/s 0:00:00
Downloading certifi-2025.4.26-py3-none-any.whl
   - 159.6 kB 260.3 MB/s 0:00:00
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2025.4.26 charset-normalizer-3.4.2 idna-3.10 requests-2.32.3 urllib3-2.4.0
dependabot@67dd7ac0325e:~/dependabot-updater/repo$ 

This suggests the default Certifi bundle lacks some required intermediate or custom CA certificates (likely used by a corporate proxy or MITM setup), whereas the system bundle includes them.

It seems I’m getting very close to solving the root cause of the SSL verification failures.

@thavaahariharangit
Copy link
Contributor

Initially, running pyenv exec poetry update rich --lock --no-interaction -vvv resulted in the following SSL error:

Exception:
    | HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/rich/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1028)')))

After setting the environment variables:

dependabot@7ccf3c7e8451:~/dependabot-updater/repo$ export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
dependabot@7ccf3c7e8451:~/dependabot-updater/repo$ export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

The error message evolved to:

Exception:
    | HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/rich/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: CA cert does not include key usage extension (_ssl.c:1028)')))

This indicates progress—while the initial issue was related to a self-signed certificate, the new error suggests a problem with the key usage extension in the CA certificate.

@thavaahariharangit
Copy link
Contributor

thavaahariharangit commented May 8, 2025

Related reading:

canonical/microk8s#4864
elastic/elasticsearch#117769

@Paul-B98
Copy link

Paul-B98 commented May 8, 2025

@thavaahariharangit Thank you for the update

@jakecoffman jakecoffman linked a pull request May 9, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
L: elm Elm packages L: github:actions GitHub Actions L: go:modules Golang modules L: python L: ruby:bundler RubyGems via bundler T: bug 🐞 Something isn't working
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

5 participants