Skip to content

chore(deps): bump the uv group across 1 directory with 4 updates - #744

Merged
vishal-bala merged 1 commit into
mainfrom
dependabot/uv/uv-1c50601630
Oct 7, 2026
Merged

vishal-bala merged 1 commit into
mainfrom
dependabot/uv/uv-1c50601630

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the uv group with 4 updates in the / directory: urllib3, pyjwt, tornado and virtualenv.

Updates urllib3 from 2.7.0 to 2.8.0

Release notes

Sourced from urllib3's releases.

2.8.0

🚀 urllib3 is fundraising for HTTP/2 support

urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.

Thank you for your support.

Security

Fixed the following security issues:

  • The TLS configuration for HTTPS proxies could be ignored or overridden. (High severity, GHSA-8988-9cw3-xx77)
  • HTTPResponse.stream() and read_chunked() could buffer a chunk-size line of unbounded length in memory. (High severity, GHSA-vxq7-64xx-v4gw)
  • Chunked Deflate streaming could enter an infinite loop. (Medium severity, GHSA-gh4c-6fx4-qh6g)

[!IMPORTANT] urllib3 2.8.0 fixes HTTPS proxy TLS configuration being ignored or overridden by destination settings. Configurations relying on that behavior may require changes.

Configure proxy CA certificates and client certificates in proxy_ssl_context, and proxy identity checks with proxy_assert_hostname or proxy_assert_fingerprint. Destination client certificates and identity overrides no longer apply to HTTPS forwarding proxy connections.

[!NOTE] CVE IDs had not yet been assigned to these advisories at the time of release due to a backlog at GitHub's CNA.

Deprecations & Removals

  • Deprecated using an empty collection as the Retry option allowed_methods to retry any verb. (#5044)

Features

  • Added Url.auth_decoded and Url.auth_decoded_joined convenience properties to the result of parse_url(). (#4945)
  • Added basic_auth_encoding and proxy_basic_auth_encoding parameters to urllib3.util.make_headers(). (#5092)

Bugfixes

  • Fixed response header handling to replace obsolete folded header lines (obs-fold) with spaces in accordance with RFC 9112, preventing raw CRLF sequences from appearing in header values such as Set-Cookie. (#1362)

  • Fixed usage of proxy_ssl_context with ProxyManager when use_forwarding_for_https=True. Passing ssl_context instead of proxy_ssl_context for HTTPS proxies in this configuration now emits a FutureWarning and will raise an error in v3.0. (#2577)

  • Changed behavior of the default ConnectionPool.pool initialization. LifoQueue is now resolved from the queue module after the ConnectionPool is instantiated instead of using the default cached QueueCls class property. This is done because sometimes the queue.LifoQueue is monkey-patched late in the program, such as by gevent. (#3289)

  • Raised UnrewindableBodyError instead of ValueError when retrying a request whose body had tell() but not seek(). (#3779)

  • Decoded percent-encoded SOCKS proxy credentials before authenticating with the proxy server. (#3785)

  • Fixed HTTPResponse.drain_conn() to discard unread response data in 64 KiB chunks (same as the default amt when doing HTTPResponse.stream(...)). (#5019)

  • Fixed is_ipaddress() to detect non-standard IPv4 forms accepted by socket.connect, such as hex (0x7f000001), octal (0177.0.0.1), and decimal integers (2130706433), ensuring SSL certificate verification uses the correct mode for these addresses. (#5029)

  • Fixed HTTPConnectionPool.urlopen raising a misleading FullPoolError instead of ValueError when called with an invalid timeout argument on a pool created with block=True. (#5059)

  • Fixed port-zero handling to preserve explicit :0 values instead of substituting the default ports 80 or 443 in URL parsing, pool selection, proxy configuration, connection_from_url(), and HTTP/2 request authority. (#5071, #5101)

  • Fixed a bug where PoolManager passed the assert_hostname and assert_fingerprint parameters to HTTP connection pools. (#5077)

  • Fixed HTTPConnectionPool.urlopen() and HTTP proxy forwarding to strip URL fragments from absolute request targets before sending requests. (#5079)

  • Added safeguards to the proxy tunneling code to prevent potential security issues when handling invalid characters in the proxy host and HTTP headers. This change affects users of Python 3.10, Python 3.11, and Python 3.12 when the standard library does not contain the fix; those on newer Python versions should upgrade to 3.13.14+ or 3.14.5+ to get the same security fixes. (#5091)

  • Fixed HTTPSConnection.connect() overriding ProxyConfig.ssl_context's certificate policy and proxy identity checks with the target connection's TLS settings when forwarding through an HTTPS proxy.

    HTTPSConnection no longer applies target SNI, assertions, or client credentials to forwarding proxy handshakes and continues to use its ssl_context as a fallback when an HTTPS proxy forwards an HTTP target. (#5093)

  • Fixed URL parsing to more strictly enforce RFC 3986 host syntax, rejecting invalid host input such as raw spaces and control characters, malformed percent-encodings, and percent-encoded control characters in HTTP(S) hosts and IPv6 zone identifiers, including proxy CONNECT tunnel targets. Host normalization now also follows RFC 3986 normalization rules for percent-encoded octets by decoding percent-encoded unreserved characters and uppercasing the hexadecimal digits of retained percent-encoded octets. (#5095)

... (truncated)

Changelog

Sourced from urllib3's changelog.

2.8.0 (2026-09-15)

Security

Fixed the following security issues:

  • The TLS configuration for HTTPS proxies could be ignored or overridden. (High severity, GHSA-8988-9cw3-xx77 <https://github.com/urllib3/urllib3/security/advisories/GHSA-8988-9cw3-xx77>__)
  • HTTPResponse.stream() and read_chunked() could buffer a chunk-size line of unbounded length in memory. (High severity, GHSA-vxq7-64xx-v4gw <https://github.com/urllib3/urllib3/security/advisories/GHSA-vxq7-64xx-v4gw>__)
  • Chunked Deflate streaming could enter an infinite loop. (Medium severity, GHSA-gh4c-6fx4-qh6g <https://github.com/urllib3/urllib3/security/advisories/GHSA-gh4c-6fx4-qh6g>__)

.. caution::

urllib3 2.8.0 fixes HTTPS proxy TLS configuration being ignored or
overridden by destination settings. Configurations relying on that
behavior may require changes.

Configure proxy CA certificates and client certificates in proxy_ssl_context, and proxy identity checks with proxy_assert_hostname or proxy_assert_fingerprint. Destination client certificates and identity overrides no longer apply to HTTPS forwarding proxy connections.

Deprecations & Removals

  • Deprecated using an empty collection as the Retry option allowed_methods to retry any verb. ([#5044](https://github.com/urllib3/urllib3/issues/5044) <https://github.com/urllib3/urllib3/issues/5044>__)

Features

  • Added Url.auth_decoded and Url.auth_decoded_joined convenience properties to the result of parse_url(). ([#4945](https://github.com/urllib3/urllib3/issues/4945) <https://github.com/urllib3/urllib3/issues/4945>__)
  • Added basic_auth_encoding and proxy_basic_auth_encoding parameters to urllib3.util.make_headers(). ([#5092](https://github.com/urllib3/urllib3/issues/5092) <https://github.com/urllib3/urllib3/issues/5092>__)

Bugfixes

... (truncated)

Commits
  • b1d30ab Release 2.8.0
  • 9016d7e Skip test_read_chunked_with_trailing_data_does_not_hang for brotlicffi (#5258)
  • 9101f58 Fix nox -s docs warning (#5256)
  • cd770b0 Merge commit from fork
  • ea2ad7b Merge commit from fork
  • 0716e31 Fix loading unencrypted client keys with a password in pyOpenSSL (#5255)
  • 43c68c8 Test pickling of InvalidChunkLength (#5247)
  • 308b279 Share security policy between GitHub and Read the Docs (#5253)
  • 53fa073 Add policy on duplicate pull requests (#5252)
  • 5f2a6a8 Assert on the ALPN extension in test_tunnel_sets_http_11_alpn (#5232)
  • Additional commits viewable in compare view

Updates pyjwt from 2.13.0 to 2.15.0

Release notes

Sourced from pyjwt's releases.

2.15.0

See the 2.15.0 changelog for complete release details.

2.14.0

See the 2.14.0 changelog for the complete release details and related security advisories.

Changelog

Sourced from pyjwt's changelog.

v2.15.0 <https://github.com/jpadilla/pyjwt/compare/2.14.0...2.15.0>__

Security


- Wrap recursion errors from deeply nested JWT payloads in ``DecodeError``
  instead of exposing a raw ``RecursionError``.

Added


- Support Python 3.15 by @kytta in `[#1202](https://github.com/jpadilla/pyjwt/issues/1202) &lt;https://github.com/jpadilla/pyjwt/pull/1202&gt;`__

Changed

  • JWKSetCache now stores the parsed PyJWKSet rather than the raw JWKS payload, so a cache hit no longer re-parses every key. JWKSetCache.put() accepts either form and raises PyJWKSetError for anything else. As a result, PyJWKClient.get_jwk_set() returns the same PyJWKSet instance for as long as it stays cached, rather than a freshly built one per call in [#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;__
  • PyJWKClient.fetch_data() now raises PyJWKClientError(&quot;The JWKS endpoint did not return a JSON object&quot;) when the endpoint response is not a JSON object, instead of returning it for get_jwk_set() to reject. Callers reaching the JWKS through get_jwk_set() see the same error as before in [#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;__

Fixed


- Return cached ``PyJWKSet`` values from ``PyJWKClient.get_jwk_set()`` instead
  of raising ``PyJWKClientError(&quot;The JWKS endpoint did not return a JSON
  object&quot;)``. ``JWKSetCache.put()`` documents ``PyJWKSet`` as the cached value,
  so callers pre-populating the cache to avoid a network round-trip could not
  read it back in `[#914](https://github.com/jpadilla/pyjwt/issues/914) &lt;https://github.com/jpadilla/pyjwt/issues/914&gt;`__ and
  `[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__
- ``PyJWKClient.get_jwk_set()`` now caches the key set it returns, so a
  ``fetch_data()`` override that filters or transforms the JWKS is no longer
  undone by the next cache hit in
  `[#1208](https://github.com/jpadilla/pyjwt/issues/1208) &lt;https://github.com/jpadilla/pyjwt/pull/1208&gt;`__
- Raise the documented ``PyJWTError`` subclass instead of leaking a
  ``TypeError`` when the ``exp``, ``nbf``, or ``iat`` claim decodes to a
  non-numeric, non-string value such as a list, dict, or ``null``.
- Reject OKP JWK private keys when their public ``x`` component does not
  match the private ``d`` component.
- Treat malformed JWK Set members as unusable keys rather than letting
  ``AttributeError`` or ``TypeError`` escape ``PyJWKSet``. A member that is not
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>

<ul>
<li><a href="https://github.com/jpadilla/pyjwt/commit/1d41a6478e1562e68ff667fcd703356acf085f68&quot;&gt;&lt;code&gt;1d41a64&lt;/code&gt;&lt;/a> chore: prepare 2.15.0 release</li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/9bc06658f875b9b40091539140bbbdc4639161c3&quot;&gt;&lt;code&gt;9bc0665&lt;/code&gt;&lt;/a> fix: make recursive payload tests deterministic</li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/5fde08a6cf906aa7698de2d6391d88b73006b17b&quot;&gt;&lt;code&gt;5fde08a&lt;/code&gt;&lt;/a> fix: normalize recursive JWT payload errors</li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/171062d2d734315272a901100aa4b109f2fc3c19&quot;&gt;&lt;code&gt;171062d&lt;/code&gt;&lt;/a> utils: mention bytes in force_bytes type error (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1173&quot;&gt;#1173&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/c9d4d5375bf464ef363506fed9eb6e7f33217ab6&quot;&gt;&lt;code&gt;c9d4d53&lt;/code&gt;&lt;/a> docs/conf: drop duplicate 'and' from read() docstring (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1174&quot;&gt;#1174&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/2763752196113e1473b0ed7905aa6034aedfbe53&quot;&gt;&lt;code&gt;2763752&lt;/code&gt;&lt;/a> Add support for Python 3.15 (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1202&quot;&gt;#1202&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/4adcd02722f5011c60079d3978dfc167b9a8eaa5&quot;&gt;&lt;code&gt;4adcd02&lt;/code&gt;&lt;/a> Catch http.client.HTTPException in PyJWKClient.fetch_data (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1201&quot;&gt;#1201&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/9e501d993b4d3e7dba14bdb1722b1d993ac75097&quot;&gt;&lt;code&gt;9e501d9&lt;/code&gt;&lt;/a> fix: correct docstring typo in _validate_jti (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1179&quot;&gt;#1179&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/4047c44d51950ffda15f40054508d3f17c43b1e2&quot;&gt;&lt;code&gt;4047c44&lt;/code&gt;&lt;/a> docs: clarify JWK certificate member handling (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1212&quot;&gt;#1212&lt;/a&gt;)&lt;/li>
<li><a href="https://github.com/jpadilla/pyjwt/commit/f4e2b59f543cc82d46d9d69922bba59e804216b9&quot;&gt;&lt;code&gt;f4e2b59&lt;/code&gt;&lt;/a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/jpadilla/pyjwt/issues/1210&quot;&gt;#1210&lt;/a&gt;)&lt;/li>
<li>Additional commits viewable in <a href="https://github.com/jpadilla/pyjwt/compare/2.13.0...2.15.0&quot;&gt;compare view</a></li>
</ul>
</details>

<br />

Updates tornado from 6.5.8 to 6.5.9

Changelog

Sourced from tornado's changelog.

Release notes

.. toctree:: :maxdepth: 2

releases/v6.6.0 releases/v6.5.10 releases/v6.5.9 releases/v6.5.8 releases/v6.5.7 releases/v6.5.6 releases/v6.5.5 releases/v6.5.4 releases/v6.5.3 releases/v6.5.2 releases/v6.5.1 releases/v6.5.0 releases/v6.4.2 releases/v6.4.1 releases/v6.4.0 releases/v6.3.3 releases/v6.3.2 releases/v6.3.1 releases/v6.3.0 releases/v6.2.0 releases/v6.1.0 releases/v6.0.4 releases/v6.0.3 releases/v6.0.2 releases/v6.0.1 releases/v6.0.0 releases/v5.1.1 releases/v5.1.0 releases/v5.0.2 releases/v5.0.1 releases/v5.0.0 releases/v4.5.3 releases/v4.5.2 releases/v4.5.1 releases/v4.5.0 releases/v4.4.3 releases/v4.4.2 releases/v4.4.1 releases/v4.4.0 releases/v4.3.0 releases/v4.2.1 releases/v4.2.0 releases/v4.1.0 releases/v4.0.2

... (truncated)

Commits
  • 75ef8b1 Merge pull request #3719 from bdarnell/fixes-659
  • 3590cb4 test: Hardcode SimpleAsyncHTTPClient in HTTP1xxLimitTestCase
  • 9fc5d6d test: Make tracemalloc optional in httpclient_test
  • 555a2ee iostream: Treat connection resets as a clean close in read_until_close
  • 3ba622f Release notes and version bump for 6.5.9
  • 41eea68 test: Fix some test issues only found by our custom tox config
  • ab1a778 Merge remote-tracking branch 'bdarnell/claude/asynchttpclient-streaming-memor...
  • 437ab5f web: Do not follow symlinks out of the static directory
  • 0394513 httputil: Apply the argument count limit to query strings
  • b798f83 http1connection: Return after reading the response that follows a 1xx
  • Additional commits viewable in compare view

Updates virtualenv from 21.3.3 to 21.7.12

Release notes

Sourced from virtualenv's releases.

21.7.12

What's Changed

Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.11...21.7.12

21.7.11

What's Changed

Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.10...21.7.11

21.7.10

What's Changed

New Contributors

Full Changelog: https://github.com/pypa/virtualenv/compare/21.7.9...21.7.10

21.7.9

What's Changed

... (truncated)

Changelog

Sourced from virtualenv's changelog.

Bugfixes - 21.7.12

  • Fix activate.bat running arbitrary commands from a crafted --prompt, VIRTUALENV_PROMPT, or config file value. (:issue:3250)
  • Verify a downloaded seed wheel's sha256 against PyPI before seeding it into a virtual environment, skipped when a custom pip index is configured. (:issue:3251)

v21.7.11 (2026-09-17)


Bugfixes - 21.7.11

  • Running activate.bat again before deactivate no longer makes deactivate leave the environment's PKG_CONFIG_PATH, TCL_LIBRARY and TK_LIBRARY behind, or lose values the user had set before the first activation - by :user:darrenhuai. (:issue:3245)
  • Write pyvenv.cfg values on a single line, so a prompt carrying a line boundary can no longer inject configuration. --prompt, the VIRTUALENV_PROMPT environment variable and the config file all set the prompt, and pyvenv.cfg has no escape syntax, so a newline, a carriage return, or any other boundary str.splitlines recognizes, such as U+2028, started a new configuration line. Reading the file back picked up those lines as keys, and since the last value for a key wins, they replaced anything written earlier, including home. (:issue:3247)

Improved Documentation - 21.7.11

  • Document the policy for AI-assisted contributions and the licensing rules for dependencies. (:issue:3239)

Misc - 21.7.11

  • :issue:3238, :issue:3240, :issue:3241, :issue:3242, :issue:3243, :issue:3244, :issue:3246

v21.7.10 (2026-09-15)


Bugfixes - 21.7.10

  • Skip blank lines, # comments and lines without = in pyvenv.cfg instead of raising ValueError - by :user:r3wretrhy. (:issue:3232)
  • deactivate in bash, fish and PowerShell unsets PKG_CONFIG_PATH when activation found it unset, instead of keeping the environment's lib/pkgconfig. csh activation no longer drops a PKG_CONFIG_PATH the user had set. Activation in batch, fish, nushell and PowerShell no longer adds a trailing separator when PKG_CONFIG_PATH is unset, and PowerShell and nushell build the value with the host's path separators - by :user:darrenhuai. (:issue:3233)
  • Activation in bash, csh, fish and PowerShell keeps the user's TCL_LIBRARY and TK_LIBRARY, and deactivate restores them. csh and PowerShell removed both variables on every activation, fish did so when the interpreter has

... (truncated)

Commits
  • 9666b42 release 21.7.12
  • a01ed3e 🐛 fix(seed): verify downloaded wheel digests (#3251)
  • d721ff1 🐛 fix(activation): escape batch quote() against injection (#3250)
  • 087a2ef 🔧 chore(changelog): drop dead CVE-2026-24049 fragment (#3249)
  • 73e352a release 21.7.11
  • 68ee5a3 📝 docs(readme): add OpenSSF Best Practices badge (#3248)
  • 787d1c9 🔧 chore(test): add opt-in Atheris fuzz harness (#3246)
  • a30f995 🐛 fix(create): keep pyvenv.cfg values on a single line (#3247)
  • 469dd28 🐛 fix(activation): undo a live activation before activate.bat saves values (#...
  • a045a14 👷 ci: run macOS jobs on macos-26 (#3244)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

[!NOTE]
Medium Risk
urllib3 2.8.0 includes high-severity HTTP/TLS fixes and can change HTTPS proxy TLS behavior for Bedrock (boto3) installs; PyJWT and tornado updates are mostly transitive with security-related fixes.

Overview
Refreshes the uv lockfile and widens the urllib3 upper bound for the bedrock and all extras from <2.8.0 to <2.9.0 so installs can resolve urllib3 2.8.0 (security fixes for HTTPS proxy TLS, chunked reads, and deflate streaming).

The lock also moves transitive tooling/runtime pins: urllib3 2.7.0→2.8.0, PyJWT 2.13.0→2.15.0, tornado 6.5.8→6.5.9, and virtualenv 21.3.3→21.7.12 (with python-discovery bumped as part of that tree). No application source changes.

Reviewed by Cursor Bugbot for commit 3a5970192c254de6a251d81901be2f4a4d9e92b3. Bugbot is set up for automated code reviews on this repo. Configure here.

Bumps the uv group with 4 updates in the / directory: [urllib3](https://github.com/urllib3/urllib3), [pyjwt](https://github.com/jpadilla/pyjwt), [tornado](https://github.com/tornadoweb/tornado) and [virtualenv](https://github.com/pypa/virtualenv).


Updates `urllib3` from 2.7.0 to 2.8.0
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@2.7.0...2.8.0)

Updates `pyjwt` from 2.13.0 to 2.15.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.13.0...2.15.0)

Updates `tornado` from 6.5.8 to 6.5.9
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](tornadoweb/tornado@v6.5.8...v6.5.9)

Updates `virtualenv` from 21.3.3 to 21.7.12
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](pypa/virtualenv@21.3.3...21.7.12)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.8.0
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: pyjwt
  dependency-version: 2.15.0
  dependency-type: indirect
  dependency-group: uv
- dependency-name: tornado
  dependency-version: 6.5.9
  dependency-type: indirect
  dependency-group: uv
- dependency-name: virtualenv
  dependency-version: 21.7.12
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Oct 1, 2026

@justin-cechmanek justin-cechmanek left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

@vishal-bala vishal-bala added auto:dependencies Update one or more dependencies version and removed dependencies Pull requests that update a dependency file labels Oct 7, 2026
@vishal-bala
vishal-bala merged commit 523f887 into main Oct 7, 2026
54 of 56 checks passed
@vishal-bala
vishal-bala deleted the dependabot/uv/uv-1c50601630 branch October 7, 2026 15:32
@vishal-bala vishal-bala added the released This issue/pull request has been released. label Oct 9, 2026
vishal-bala added a commit that referenced this pull request Oct 30, 2026
…ce tests (#802)

## Motivation

Every Dependabot PR fails CI on two jobs, Service Tests and Notebook
Validation, regardless of what it bumps. Dependabot pushes its branches
to this repository, so its PRs pass the same-repository guard that keeps
fork PRs away from secret-dependent jobs. GitHub, however, gives runs
that Dependabot triggers no Actions secrets, so those jobs start with
every API key empty. On #751, Service Tests stops at the Google Cloud
authentication step for want of `GOOGLE_CREDENTIALS`, and the notebooks
fall through to `getpass` prompts that cannot run in CI. The same two
jobs failed on #744, #749, #751 and #799.

## Changes

This PR treats Dependabot PRs the way fork PRs are already treated: the
secret-dependent jobs skip, and a maintainer runs them with secrets
after reading the change.

- `.github/workflows/test.yml`: Service Tests and Notebook Validation
also skip when `github.actor` is `dependabot[bot]`. The guard keys on
the actor because that is what GitHub withholds secrets on, so a
maintainer's push to a Dependabot branch still runs both jobs with
secrets.
- `.github/workflows/test-fork-pr.yml`: the dispatch-only workflow now
accepts PRs opened by `dependabot[bot]` as well as fork PRs, and still
rejects other same-repository PRs.
- `CONTRIBUTING.md`: a short section telling maintainers to run `gh
workflow run test-fork-pr.yml -f pr_number=<n>` before merging a fork or
Dependabot PR.

## Notes

- A skipped job shows as passing, so the manual dispatch is a
convention, not an enforced gate. Copying the API keys into the
Dependabot secrets store would make the jobs run automatically, but it
would also hand those keys to newly bumped dependency code before anyone
has reviewed it, which defeats the purpose of waiting for a maintainer.
- The check run keeps the name "Fork PR - Service Tests" so that any
branch-protection rule or tooling referring to it keeps matching.
- Notebook Validation has no manual equivalent, as is already the case
for fork PRs. It still runs on `main` after merge and nightly.

## Reviewer Brief

**Start here:** `.github/workflows/test.yml:25`, the Service Tests `if:`
guard. It decides which PR runs get secret-dependent jobs, and the
Notebook Validation guard at `:152` repeats it.

**Where it could fail**
- `.github/workflows/test-fork-pr.yml:46-51`: the new acceptance checks
who opened the PR (`pr.data.user.login`), not who wrote its commits, so
a write-access user's commit on a Dependabot branch would also be tested
with secrets; that user can already run code with secrets from any
same-repository branch.

**Not verified:** neither workflow has run with this change. The
`github.actor` guard and the Dependabot acceptance in `test-fork-pr.yml`
can only be confirmed on a real Dependabot PR plus a manual dispatch.
actionlint was not available; both files parse as YAML, and the `setup`
script passes `node --check`.

**Beyond CI:** the logs of run 37937957172 (#751) show every secret
empty on a Dependabot-triggered run, Service Tests failing at Google
Cloud authentication, and Notebook Validation failing on `getpass`
API-key prompts, which confirms that both jobs need secrets and lose no
working coverage by skipping.

**Since the last brief:** `a59789b7` passes `GEMINI_API_KEY` to the
dispatched service tests, matching `test.yml`, so the Google GenAI
fixture exercises the Gemini backend there too.

<sub>Reviewed `d8a7d3a7` · Claude Code (claude-opus-5-5) · lenses:
correctness, security, design, tests, docs, Redis behaviour</sub>

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Workflow and contributor-doc changes only; no application or
secret-handling logic changes, though skipped jobs still report as
passing until a maintainer runs the dispatch workflow.
> 
> **Overview**
> Dependabot PRs were hitting **Service Tests** and **Notebook
Validation** with no Actions secrets (same-repo branches, but GitHub
withholds secrets on Dependabot-triggered runs), so CI failed on empty
API keys. This PR aligns Dependabot with the existing fork PR pattern.
> 
> **`test.yml`** skips those secret-dependent jobs when `github.actor`
is `dependabot[bot]` (while still running them for maintainer pushes on
the same branch). **`test-fork-pr.yml`** now allows manual dispatch for
Dependabot PRs as well as forks, with updated validation and comments.
**`CONTRIBUTING.md`** documents running `gh workflow run
test-fork-pr.yml -f pr_number=<n>` before merge.
> 
> The fork-pr workflow also wires **`GEMINI_API_KEY`** into the
service-tests env alongside the other provider secrets.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
a59789b. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto:dependencies Update one or more dependencies version python:uv Pull requests that update python:uv code released This issue/pull request has been released.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants