Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 4, 2025

Bumps actions/stale from 9 to 10.

Release notes

Sourced from actions/stale's releases.

v10.0.0

What's Changed

Breaking Changes

Enhancement

Dependency Upgrades

Documentation changes

New Contributors

Full Changelog: actions/stale@v9...v10.0.0

v9.1.0

What's Changed

New Contributors

Full Changelog: actions/stale@v9...v9.1.0

Changelog

Sourced from actions/stale's changelog.

Changelog

[9.1.0]

What's Changed

[9.0.0]

Breaking Changes

  1. Action is now stateful: If the action ends because of operations-per-run then the next run will start from the first unprocessed issue skipping the issues processed during the previous run(s). The state is reset when all the issues are processed. This should be considered for scheduling workflow runs.
  2. Version 9 of this action updated the runtime to Node.js 20. All scripts are now run with Node.js 20 instead of Node.js 16 and are affected by any breaking changes between Node.js 16 and 20.

What Else Changed

  1. Performance optimization that removes unnecessary API calls by @​dsame in #1033; fixes #792
  2. Logs displaying current GitHub API rate limit by @​dsame in #1032; addresses #1029

For more information, please read the action documentation and its section about statefulness

[4.1.1]

In scope of this release we updated actions/core to 1.10.0 for v4 and fixed issues operation count.

[8.0.0]

⚠️ This version contains breaking changes ⚠️

[7.0.0]

⚠️ Breaking change ⚠️

... (truncated)

Commits

Dependabot compatibility score

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/stale](https://github.com/actions/stale) from 9 to 10.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v9...v10)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Sep 4, 2025
@dependabot dependabot bot requested a review from webknjaz as a code owner September 4, 2025 13:28
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Sep 4, 2025
@github-actions github-actions bot enabled auto-merge (squash) September 4, 2025 13:28
Copy link

codecov bot commented Sep 4, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
4199 1 4198 70
View the top 1 failed test(s) by shortest run time
tests.test_client_middleware::test_middleware_uses_session_avoids_recursion_with_path_check[pyloop]
Stack Traces | 2.44s run time
self = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
addr_infos = []
req = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
args = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
kwargs = {'server_hostname': None, 'ssl': None}

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_wrap_create_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        *args: Any,#x1B[90m#x1B[39;49;00m
        addr_infos: List[AddrInfoType],#x1B[90m#x1B[39;49;00m
        req: ClientRequest,#x1B[90m#x1B[39;49;00m
        timeout: #x1B[33m"#x1B[39;49;00m#x1B[33mClientTimeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        client_error: Type[#x1B[96mException#x1B[39;49;00m] = ClientConnectorError,#x1B[90m#x1B[39;49;00m
        **kwargs: Any,#x1B[90m#x1B[39;49;00m
    ) -> Tuple[asyncio.Transport, ResponseHandler]:#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ceil_timeout(#x1B[90m#x1B[39;49;00m
                timeout.sock_connect, ceil_threshold=timeout.ceil_threshold#x1B[90m#x1B[39;49;00m
            ):#x1B[90m#x1B[39;49;00m
>               sock = #x1B[94mawait#x1B[39;49;00m aiohappyeyeballs.start_connection(#x1B[90m#x1B[39;49;00m
                    addr_infos=addr_infos,#x1B[90m#x1B[39;49;00m
                    local_addr_infos=#x1B[96mself#x1B[39;49;00m._local_addr_infos,#x1B[90m#x1B[39;49;00m
                    happy_eyeballs_delay=#x1B[96mself#x1B[39;49;00m._happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
                    interleave=#x1B[96mself#x1B[39;49;00m._interleave,#x1B[90m#x1B[39;49;00m
                    loop=#x1B[96mself#x1B[39;49;00m._loop,#x1B[90m#x1B[39;49;00m
                    socket_factory=#x1B[96mself#x1B[39;49;00m._socket_factory,#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m

addr_infos = []
args       = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
kwargs     = {'server_hostname': None, 'ssl': None}
req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)

#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1268: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\site-packages\aiohappyeyeballs\impl.py#x1B[0m:127: in start_connection
    #x1B[0m#x1B[94mraise#x1B[39;49;00m first_exception#x1B[90m#x1B[39;49;00m
        _          = [ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)]
        addr_infos = [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 5355, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 5355))]
        all_exceptions = None
        current_loop = <ProactorEventLoop running=False closed=False debug=False>
        exceptions = None
        first_exception = ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)
        happy_eyeballs_delay = 0.25
        interleave = 1
        local_addr_infos = None
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        model      = '[WinError 1225] The remote computer refused the network connection'
        open_sockets = None
        single_addr_info = False
        sock       = None
        socket_factory = None
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\site-packages\aiohappyeyeballs\_staggered.py#x1B[0m:132: in run_one_coro
    #x1B[0mresult = #x1B[94mawait#x1B[39;49;00m coro_fn()#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        coro_fn    = functools.partial(<function _connect_sock at 0x00000280C157E200>, <ProactorEventLoop running=False closed=False debug=...5, None)]], (<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 5355, 0, 0)), None, set(), None)
        exceptions = [ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None)]
        start_next = <Future finished result=None>
        this_index = 0
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\site-packages\aiohappyeyeballs\impl.py#x1B[0m:208: in _connect_sock
    #x1B[0m#x1B[94mawait#x1B[39;49;00m loop.sock_connect(sock, address)#x1B[90m#x1B[39;49;00m
        _          = ''
        addr_info  = (<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 5355, 0, 0))
        address    = ('::1', 5355, 0, 0)
        exceptions = None
        family     = <AddressFamily.AF_INET6: 23>
        local_addr_infos = None
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        my_exceptions = None
        open_sockets = set()
        proto      = 6
        sock       = <socket.socket [closed] fd=-1, family=23, type=1, proto=6>
        socket_factory = None
        type_      = <SocketKind.SOCK_STREAM: 1>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\asyncio\proactor_events.py#x1B[0m:728: in sock_connect
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._proactor.connect(sock, address)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        address    = ('::1', 5355, 0, 0)
        self       = <ProactorEventLoop running=False closed=False debug=False>
        sock       = <socket.socket [closed] fd=-1, family=23, type=1, proto=6>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\asyncio\windows_events.py#x1B[0m:804: in _poll
    #x1B[0mvalue = callback(transferred, key, ov)#x1B[90m#x1B[39;49;00m
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        address    = 2752107010496
        callback   = <function IocpProactor.connect.<locals>.finish_connect at 0x00000280C50A8E00>
        err        = 1225
        f          = None
        key        = 0
        ms         = 0
        obj        = <socket.socket [closed] fd=-1, family=23, type=1, proto=6>
        ov         = <_overlapped.Overlapped object at 0x00000280C65C59B0>
        self       = <IocpProactor overlapped#=3 result#=0>
        status     = None
        timeout    = 29.849235199999953
        transferred = 0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

trans = 0, key = 0, ov = <_overlapped.Overlapped object at 0x00000280C65C59B0>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mfinish_connect#x1B[39;49;00m(trans, key, ov):#x1B[90m#x1B[39;49;00m
>       ov.getresult()#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       ConnectionRefusedError: [WinError 1225] The remote computer refused the network connection#x1B[0m

conn       = <socket.socket [closed] fd=-1, family=23, type=1, proto=6>
key        = 0
ov         = <_overlapped.Overlapped object at 0x00000280C65C59B0>
trans      = 0

#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.13.7\x64\Lib\asyncio\windows_events.py#x1B[0m:600: ConnectionRefusedError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000280C515BBA0>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_middleware_uses_session_avoids_recursion_with_path_check#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        aiohttp_server: AiohttpServer,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Test that middleware can avoid infinite recursion using a path check."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        log_collector: List[Dict[#x1B[96mstr#x1B[39;49;00m, #x1B[96mstr#x1B[39;49;00m]] = []#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mlog_api_handler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Handle log API requests."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            data: Dict[#x1B[96mstr#x1B[39;49;00m, #x1B[96mstr#x1B[39;49;00m] = #x1B[94mawait#x1B[39;49;00m request.json()#x1B[90m#x1B[39;49;00m
            log_collector.append(data)#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m web.Response(text=#x1B[33m"#x1B[39;49;00m#x1B[33mOK#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mmain_handler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Handle main server requests."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m web.Response(text=#x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mHello from #x1B[39;49;00m#x1B[33m{#x1B[39;49;00mrequest.path#x1B[33m}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create log API server#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        log_app = web.Application()#x1B[90m#x1B[39;49;00m
        log_app.router.add_post(#x1B[33m"#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, log_api_handler)#x1B[90m#x1B[39;49;00m
        log_server = #x1B[94mawait#x1B[39;49;00m aiohttp_server(log_app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create main server#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        main_app = web.Application()#x1B[90m#x1B[39;49;00m
        main_app.router.add_get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m{#x1B[39;49;00m#x1B[33mpath:.*}#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, main_handler)#x1B[90m#x1B[39;49;00m
        main_server = #x1B[94mawait#x1B[39;49;00m aiohttp_server(main_app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mlog_middleware#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
            request: ClientRequest, handler: ClientHandlerType#x1B[90m#x1B[39;49;00m
        ) -> ClientResponse:#x1B[90m#x1B[39;49;00m
    #x1B[90m        #x1B[39;49;00m#x1B[33m"""Log requests to external API, avoiding recursion with path check."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[90m# Avoid infinite recursion by not logging requests to the /log endpoint#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mif#x1B[39;49;00m request.url.path != #x1B[33m"#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
                #x1B[90m# Use the session from the request to make the logging call#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m request.session.post(#x1B[90m#x1B[39;49;00m
                    #x1B[33mf#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mhttp://localhost:#x1B[39;49;00m#x1B[33m{#x1B[39;49;00mlog_server.port#x1B[33m}#x1B[39;49;00m#x1B[33m/log#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
                    json={#x1B[33m"#x1B[39;49;00m#x1B[33mmethod#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[96mstr#x1B[39;49;00m(request.method), #x1B[33m"#x1B[39;49;00m#x1B[33murl#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m: #x1B[96mstr#x1B[39;49;00m(request.url)},#x1B[90m#x1B[39;49;00m
                ) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
                    #x1B[94massert#x1B[39;49;00m resp.status == #x1B[94m200#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m handler(request)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Create session with the middleware#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ClientSession(middlewares=(log_middleware,)) #x1B[94mas#x1B[39;49;00m session:#x1B[90m#x1B[39;49;00m
            #x1B[90m# Make request to main server - should be logged#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>           #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m session.get(main_server.make_url(#x1B[33m"#x1B[39;49;00m#x1B[33m/test#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000280C515BBA0>
log_api_handler = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_api_handler at 0x00000280C515A840>
log_app    = <Application 0x280c513cf50>
log_collector = []
log_middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000280C515B6A0>
log_server = <aiohttp.test_utils.TestServer object at 0x00000280C4FF52E0>
main_app   = <Application 0x280c513d310>
main_handler = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.main_handler at 0x00000280C5158720>
main_server = <aiohttp.test_utils.TestServer object at 0x00000280C4FF5650>
session    = <aiohttp.client.ClientSession object at 0x00000280C4F98910>

#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:970: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:1488: in __aenter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._resp: _RetType = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._coro#x1B[90m#x1B[39;49;00m
                           ^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        self       = <aiohttp.client._BaseRequestContextManager object at 0x00000280C66E95D0>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:770: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m handler(req)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        _connect_and_send_request = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A8540>
        all_cookies = <BaseCookie: >
        allow_redirects = True
        auth       = None
        auth_from_url = None
        auto_decompress = True
        chunked    = None
        compress   = None
        cookies    = None
        data       = None
        effective_middlewares = (<function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000280C515B6A0>,)
        expect100  = False
        fingerprint = None
        handle     = None
        handler    = <function build_client_middlewares.<locals>.single_middleware_handler at 0x00000280C50A85E0>
        headers    = <CIMultiDict()>
        history    = []
        json       = None
        max_field_size = 8190
        max_line_size = 8190
        max_redirects = 10
        method     = 'GET'
        middlewares = None
        params     = {}
        proxy      = None
        proxy_     = None
        proxy_auth = None
        proxy_headers = None
        raise_for_status = None
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        redirects  = 0
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFFB50>
        retry_persistent_connection = True
        self       = <aiohttp.client.ClientSession object at 0x00000280C4F98910>
        server_hostname = None
        skip_auto_headers = None
        skip_headers = None
        ssl        = True
        ssl_context = None
        str_or_url = URL('http://127.0.0.1:60181/test')
        timeout    = <_SENTINEL.sentinel: 1>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000280C5ED1D80>
        tm         = <aiohttp.helpers.TimeoutHandle object at 0x00000280C6641E80>
        trace_request_ctx = None
        traces     = []
        url        = URL('http://127.0.0.1:60181/test')
        verify_ssl = None
        version    = HttpVersion(major=1, minor=1)
#x1B[1m#x1B[31maiohttp\client_middlewares.py#x1B[0m:36: in single_middleware_handler
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m middleware(req, handler)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A8540>
        middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000280C515B6A0>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFFB50>
#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:959: in log_middleware
    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m request.session.post(#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A8540>
        log_server = <aiohttp.test_utils.TestServer object at 0x00000280C4FF52E0>
        request    = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFFB50>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:1488: in __aenter__
    #x1B[0m#x1B[96mself#x1B[39;49;00m._resp: _RetType = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._coro#x1B[90m#x1B[39;49;00m
                           ^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        self       = <aiohttp.client._BaseRequestContextManager object at 0x00000280C66EAB30>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:770: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m handler(req)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        _connect_and_send_request = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A89A0>
        all_cookies = <BaseCookie: >
        allow_redirects = True
        auth       = None
        auth_from_url = None
        auto_decompress = True
        chunked    = None
        compress   = None
        cookies    = None
        data       = <aiohttp.payload.JsonPayload object at 0x00000280C4FBCE90>
        effective_middlewares = (<function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000280C515B6A0>,)
        expect100  = False
        fingerprint = None
        handle     = None
        handler    = <function build_client_middlewares.<locals>.single_middleware_handler at 0x00000280C50A8860>
        headers    = <CIMultiDict()>
        history    = []
        json       = {'method': 'GET', 'url': 'http://127.0.0.1:60181/test'}
        max_field_size = 8190
        max_line_size = 8190
        max_redirects = 10
        method     = 'POST'
        middlewares = None
        params     = {}
        proxy      = None
        proxy_     = None
        proxy_auth = None
        proxy_headers = None
        raise_for_status = None
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        redirects  = 0
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        retry_persistent_connection = False
        self       = <aiohttp.client.ClientSession object at 0x00000280C4F98910>
        server_hostname = None
        skip_auto_headers = None
        skip_headers = None
        ssl        = True
        ssl_context = None
        str_or_url = 'http://localhost:60180/log'
        timeout    = <_SENTINEL.sentinel: 1>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000280C5ED2940>
        tm         = <aiohttp.helpers.TimeoutHandle object at 0x00000280C7CB3DC0>
        trace_request_ctx = None
        traces     = []
        url        = URL('http://localhost:60180/log')
        verify_ssl = None
        version    = HttpVersion(major=1, minor=1)
#x1B[1m#x1B[31maiohttp\client_middlewares.py#x1B[0m:36: in single_middleware_handler
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m middleware(req, handler)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A89A0>
        middleware = <function test_middleware_uses_session_avoids_recursion_with_path_check.<locals>.log_middleware at 0x00000280C515B6A0>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
#x1B[1m#x1B[31mtests\test_client_middleware.py#x1B[0m:965: in log_middleware
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m handler(request)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x00000280C50A89A0>
        log_server = <aiohttp.test_utils.TestServer object at 0x00000280C4FF52E0>
        request    = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
#x1B[1m#x1B[31maiohttp\client.py#x1B[0m:725: in _connect_and_send_request
    #x1B[0mconn = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._connector.connect(#x1B[90m#x1B[39;49;00m
        auto_decompress = True
        max_field_size = 8190
        max_line_size = 8190
        read_bufsize = 65536
        read_until_eof = True
        real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        self       = <aiohttp.client.ClientSession object at 0x00000280C4F98910>
        timer      = <aiohttp.helpers.TimerContext object at 0x00000280C5ED2940>
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:642: in connect
    #x1B[0mproto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._create_connection(req, traces, timeout)#x1B[90m#x1B[39;49;00m
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        conn       = None
        key        = ConnectionKey(host='localhost', port=60180, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None)
        placeholder = <aiohttp.connector._TransportPlaceholder object at 0x00000280C66EBBB0>
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1209: in _create_connection
    #x1B[0m_, proto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._create_direct_connection(req, traces, timeout)#x1B[90m#x1B[39;49;00m
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1581: in _create_direct_connection
    #x1B[0m#x1B[94mraise#x1B[39;49;00m last_exc#x1B[90m#x1B[39;49;00m
        addr_infos = []
        client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
        fingerprint = None
        host       = 'localhost'
        hosts      = [{'family': <AddressFamily.AF_INET6: 23>, 'flags': <AddressInfo.AI_NUMERICHOST|AI_NUMERICSERV: 12>, 'host': '::1', 'ho...INET: 2>, 'flags': <AddressInfo.AI_NUMERICHOST|AI_NUMERICSERV: 12>, 'host': '127.0.0.1', 'hostname': 'localhost', ...}]
        last_exc   = ClientConnectorError(ConnectionKey(host='localhost', port=60180, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, ...headers_hash=None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None))
        port       = 60180
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
        server_hostname = None
        sslcontext = None
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1550: in _create_direct_connection
    #x1B[0mtransp, proto = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._wrap_create_connection(#x1B[90m#x1B[39;49;00m
        addr_infos = []
        client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
        fingerprint = None
        host       = 'localhost'
        hosts      = [{'family': <AddressFamily.AF_INET6: 23>, 'flags': <AddressInfo.AI_NUMERICHOST|AI_NUMERICSERV: 12>, 'host': '::1', 'ho...INET: 2>, 'flags': <AddressInfo.AI_NUMERICHOST|AI_NUMERICSERV: 12>, 'host': '127.0.0.1', 'hostname': 'localhost', ...}]
        last_exc   = ClientConnectorError(ConnectionKey(host='localhost', port=60180, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, ...headers_hash=None), ConnectionRefusedError(22, 'The remote computer refused the network connection', None, 1225, None))
        port       = 60180
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
        self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
        server_hostname = None
        sslcontext = None
        timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
        traces     = []
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
addr_infos = []
req = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
args = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
kwargs = {'server_hostname': None, 'ssl': None}

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_wrap_create_connection#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        *args: Any,#x1B[90m#x1B[39;49;00m
        addr_infos: List[AddrInfoType],#x1B[90m#x1B[39;49;00m
        req: ClientRequest,#x1B[90m#x1B[39;49;00m
        timeout: #x1B[33m"#x1B[39;49;00m#x1B[33mClientTimeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
        client_error: Type[#x1B[96mException#x1B[39;49;00m] = ClientConnectorError,#x1B[90m#x1B[39;49;00m
        **kwargs: Any,#x1B[90m#x1B[39;49;00m
    ) -> Tuple[asyncio.Transport, ResponseHandler]:#x1B[90m#x1B[39;49;00m
        #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m ceil_timeout(#x1B[90m#x1B[39;49;00m
                timeout.sock_connect, ceil_threshold=timeout.ceil_threshold#x1B[90m#x1B[39;49;00m
            ):#x1B[90m#x1B[39;49;00m
                sock = #x1B[94mawait#x1B[39;49;00m aiohappyeyeballs.start_connection(#x1B[90m#x1B[39;49;00m
                    addr_infos=addr_infos,#x1B[90m#x1B[39;49;00m
                    local_addr_infos=#x1B[96mself#x1B[39;49;00m._local_addr_infos,#x1B[90m#x1B[39;49;00m
                    happy_eyeballs_delay=#x1B[96mself#x1B[39;49;00m._happy_eyeballs_delay,#x1B[90m#x1B[39;49;00m
                    interleave=#x1B[96mself#x1B[39;49;00m._interleave,#x1B[90m#x1B[39;49;00m
                    loop=#x1B[96mself#x1B[39;49;00m._loop,#x1B[90m#x1B[39;49;00m
                    socket_factory=#x1B[96mself#x1B[39;49;00m._socket_factory,#x1B[90m#x1B[39;49;00m
                )#x1B[90m#x1B[39;49;00m
                #x1B[90m# Add ssl_shutdown_timeout for Python 3.11+ when SSL is used#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94mif#x1B[39;49;00m (#x1B[90m#x1B[39;49;00m
                    kwargs.get(#x1B[33m"#x1B[39;49;00m#x1B[33mssl#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                    #x1B[95mand#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._ssl_shutdown_timeout#x1B[90m#x1B[39;49;00m
                    #x1B[95mand#x1B[39;49;00m sys.version_info >= (#x1B[94m3#x1B[39;49;00m, #x1B[94m11#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                ):#x1B[90m#x1B[39;49;00m
                    kwargs[#x1B[33m"#x1B[39;49;00m#x1B[33mssl_shutdown_timeout#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m] = #x1B[96mself#x1B[39;49;00m._ssl_shutdown_timeout#x1B[90m#x1B[39;49;00m
                #x1B[94mreturn#x1B[39;49;00m #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._loop.create_connection(*args, **kwargs, sock=sock)#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m cert_errors #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m ClientConnectorCertificateError(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m ssl_errors #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mraise#x1B[39;49;00m ClientConnectorSSLError(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94mexcept#x1B[39;49;00m #x1B[96mOSError#x1B[39;49;00m #x1B[94mas#x1B[39;49;00m exc:#x1B[90m#x1B[39;49;00m
            #x1B[94mif#x1B[39;49;00m exc.errno #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m #x1B[95mand#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(exc, asyncio.TimeoutError):#x1B[90m#x1B[39;49;00m
                #x1B[94mraise#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m client_error(req.connection_key, exc) #x1B[94mfrom#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[04m#x1B[96mexc#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host localhost:60180 ssl:default [The remote computer refused the network connection]#x1B[0m

addr_infos = []
args       = (functools.partial(<class 'aiohttp.client_proto.ResponseHandler'>, loop=<ProactorEventLoop running=False closed=False debug=False>),)
client_error = <class 'aiohttp.client_exceptions.ClientConnectorError'>
kwargs     = {'server_hostname': None, 'ssl': None}
req        = <aiohttp.client_reqrep.ClientRequest object at 0x00000280C5CFDE50>
self       = <aiohttp.connector.TCPConnector object at 0x00000280C4F98B90>
timeout    = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=30, ceil_threshold=5)

#x1B[1m#x1B[31maiohttp\connector.py#x1B[0m:1291: ClientConnectorError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link

codspeed-hq bot commented Sep 4, 2025

CodSpeed Performance Report

Merging #11473 will not alter performance

Comparing dependabot/github_actions/3.13/actions/stale-10 (891f516) with 3.13 (1a4e503)1

Summary

✅ 59 untouched benchmarks

Footnotes

  1. No successful run was found on 3.13 (4848358) during the generation of this report, so 1a4e503 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants