Skip to content

feat(core): add support for MCP 2026 stateless draft and auto-negotiation fallback - #704

Merged
anubhav756 merged 19 commits into
anubhav-mcp-draftfrom
anubhav-draft-negotiation
Jul 1, 2026
Merged

anubhav756 merged 19 commits into
anubhav-mcp-draftfrom
anubhav-draft-negotiation

test: parameterize integration tests to run comprehensively for both …

caf7b85
Select commit
Loading
Failed to load commit list.
Google Cloud Build / core-python-sdk-pr-py310 (toolbox-testing-438616) succeeded Jul 1, 2026 in 1m 45s

Summary

Build Information

Trigger core-python-sdk-pr-py310
Build 7ab58ae5-703f-4853-aa51-16b8752df95d
Start 2026-07-01T06:27:21-07:00
Duration 1m40.547s
Status SUCCESS

Steps

Step Status Duration
Install requirements SUCCESS 48.016s
Run integration tests SUCCESS 47.739s

Details


starting build "7ab58ae5-703f-4853-aa51-16b8752df95d"

FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
 * branch            caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.10
Step #0 - "Install requirements": 3.10: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": ccf7e73781a2: Pulling fs layer
Step #0 - "Install requirements": de50cca5f6c1: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Waiting
Step #0 - "Install requirements": ccf7e73781a2: Verifying Checksum
Step #0 - "Install requirements": ccf7e73781a2: Download complete
Step #0 - "Install requirements": de50cca5f6c1: Verifying Checksum
Step #0 - "Install requirements": de50cca5f6c1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Verifying Checksum
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e2fc6298fd6c: Verifying Checksum
Step #0 - "Install requirements": e2fc6298fd6c: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": ccf7e73781a2: Pull complete
Step #0 - "Install requirements": de50cca5f6c1: Pull complete
Step #0 - "Install requirements": e2fc6298fd6c: Pull complete
Step #0 - "Install requirements": Digest: sha256:2ea4d6f8d2c11b0a2aa12be3d2fc06339315138f5116cfd2e662c5325b0ef23b
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.10
Step #0 - "Install requirements": docker.io/library/python:3.10
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements":   Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements":      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 63.4 MB/s eta 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Step #0 - "Install requirements": 
Step #0 - "Install requirements": [notice] A new release of pip is available: 23.0.1 -> 26.1.2
Step #0 - "Install requirements": [notice] To update, run: pip install --upgrade pip
Step #0 - "Install requirements": Using CPython 3.10.20 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 248ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements":  Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 526ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 61ms
Step #0 - "Install requirements":  + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 90 packages in 2.17s
Step #0 - "Install requirements":    Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.6MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Downloading numpy (15.6MiB)
Step #0 - "Install requirements":       Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements":  Downloaded ast-serialize
Step #0 - "Install requirements":  Downloaded pydantic-core
Step #0 - "Install requirements":  Downloaded aiohttp
Step #0 - "Install requirements":  Downloaded black
Step #0 - "Install requirements":  Downloaded cryptography
Step #0 - "Install requirements":  Downloaded grpcio
Step #0 - "Install requirements":  Downloaded pygments
Step #0 - "Install requirements":  Downloaded numpy
Step #0 - "Install requirements":  Downloaded mypy
Step #0 - "Install requirements":  Downloaded jedi
Step #0 - "Install requirements": Prepared 90 packages in 2.64s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 90 packages in 1.17s
Step #0 - "Install requirements":  + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements":  + aiohttp==3.14.1
Step #0 - "Install requirements":  + aioresponses==0.7.8
Step #0 - "Install requirements":  + aiosignal==1.4.0
Step #0 - "Install requirements":  + annotated-types==0.7.0
Step #0 - "Install requirements":  + ast-serialize==0.6.0
Step #0 - "Install requirements":  + asttokens==3.0.1
Step #0 - "Install requirements":  + async-timeout==5.0.1
Step #0 - "Install requirements":  + attrs==26.1.0
Step #0 - "Install requirements":  + backports-asyncio-runner==1.2.0
Step #0 - "Install requirements":  + black==26.5.1
Step #0 - "Install requirements":  + certifi==2026.6.17
Step #0 - "Install requirements":  + cffi==2.0.0
Step #0 - "Install requirements":  + charset-normalizer==3.4.7
Step #0 - "Install requirements":  + click==8.4.2
Step #0 - "Install requirements":  + coverage==7.14.3
Step #0 - "Install requirements":  + cryptography==49.0.0
Step #0 - "Install requirements":  + decorator==5.3.1
Step #0 - "Install requirements":  + deprecated==1.3.1
Step #0 - "Install requirements":  + exceptiongroup==1.3.1
Step #0 - "Install requirements":  + executing==2.2.1
Step #0 - "Install requirements":  + frozenlist==1.8.0
Step #0 - "Install requirements":  + google-api-core==2.31.0
Step #0 - "Install requirements":  + google-auth==2.55.1
Step #0 - "Install requirements":  + google-cloud-core==2.6.0
Step #0 - "Install requirements":  + google-cloud-secret-manager==2.28.0
Step #0 - "Install requirements":  + google-cloud-storage==3.10.1
Step #0 - "Install requirements":  + google-crc32c==1.8.0
Step #0 - "Install requirements":  + google-resumable-media==2.10.0
Step #0 - "Install requirements":  + googleapis-common-protos==1.75.0
Step #0 - "Install requirements":  + grpc-google-iam-v1==0.14.4
Step #0 - "Install requirements":  + grpcio==1.81.1
Step #0 - "Install requirements":  + grpcio-status==1.81.1
Step #0 - "Install requirements":  + idna==3.18
Step #0 - "Install requirements":  + importlib-metadata==8.7.1
Step #0 - "Install requirements":  + iniconfig==2.3.0
Step #0 - "Install requirements":  + ipython==8.39.0
Step #0 - "Install requirements":  + isort==8.0.1
Step #0 - "Install requirements":  + jedi==0.20.0
Step #0 - "Install requirements":  + librt==0.12.0
Step #0 - "Install requirements":  + matplotlib-inline==0.2.2
Step #0 - "Install requirements":  + multidict==6.7.1
Step #0 - "Install requirements":  + mypy==2.1.0
Step #0 - "Install requirements":  + mypy-extensions==1.1.0
Step #0 - "Install requirements":  + numpy==2.1.3
Step #0 - "Install requirements":  + opentelemetry-api==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-common==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-grpc==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-http==1.41.1
Step #0 - "Install requirements":  + opentelemetry-proto==1.41.1
Step #0 - "Install requirements":  + opentelemetry-sdk==1.41.1
Step #0 - "Install requirements":  + opentelemetry-semantic-conventions==0.62b1
Step #0 - "Install requirements":  + packaging==26.2
Step #0 - "Install requirements":  + parso==0.8.7
Step #0 - "Install requirements":  + pathspec==1.1.1
Step #0 - "Install requirements":  + pexpect==4.9.0
Step #0 - "Install requirements":  + platformdirs==4.10.0
Step #0 - "Install requirements":  + pluggy==1.6.0
Step #0 - "Install requirements":  + prompt-toolkit==3.0.52
Step #0 - "Install requirements":  + propcache==0.5.2
Step #0 - "Install requirements":  + proto-plus==1.28.0
Step #0 - "Install requirements":  + protobuf==6.33.6
Step #0 - "Install requirements":  + ptyprocess==0.7.0
Step #0 - "Install requirements":  + pure-eval==0.2.3
Step #0 - "Install requirements":  + pyasn1==0.6.3
Step #0 - "Install requirements":  + pyasn1-modules==0.4.2
Step #0 - "Install requirements":  + pycparser==3.0
Step #0 - "Install requirements":  + pydantic==2.13.4
Step #0 - "Install requirements":  + pydantic-core==2.46.4
Step #0 - "Install requirements":  + pygments==2.20.0
Step #0 - "Install requirements":  + pytest==9.0.3
Step #0 - "Install requirements":  + pytest-aioresponses==0.3.0
Step #0 - "Install requirements":  + pytest-asyncio==1.4.0
Step #0 - "Install requirements":  + pytest-cov==7.1.0
Step #0 - "Install requirements":  + pytest-mock==3.15.1
Step #0 - "Install requirements":  + pytokens==0.4.1
Step #0 - "Install requirements":  + requests==2.34.2
Step #0 - "Install requirements":  + stack-data==0.6.3
Step #0 - "Install requirements":  + tokenize-rt==6.2.0
Step #0 - "Install requirements":  + tomli==2.4.1
Step #0 - "Install requirements":  + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements":  + traitlets==5.15.1
Step #0 - "Install requirements":  + typing-extensions==4.15.0
Step #0 - "Install requirements":  + typing-inspection==0.4.2
Step #0 - "Install requirements":  + urllib3==2.7.0
Step #0 - "Install requirements":  + wcwidth==0.8.2
Step #0 - "Install requirements":  + wrapt==2.2.2
Step #0 - "Install requirements":  + yarl==1.24.2
Step #0 - "Install requirements":  + zipp==4.1.0
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 27 packages in 156ms
Step #0 - "Install requirements": Downloading aiohttp (1.6MiB)
Step #0 - "Install requirements":  Downloaded aiohttp
Step #0 - "Install requirements": Prepared 2 packages in 181ms
Step #0 - "Install requirements": Uninstalled 2 packages in 5ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 2 packages in 18ms
Step #0 - "Install requirements":  - aiohttp==3.14.1
Step #0 - "Install requirements":  + aiohttp==3.14.0
Step #0 - "Install requirements":  - google-auth==2.55.1
Step #0 - "Install requirements":  + google-auth==2.53.0
Finished Step #0 - "Install requirements"
Starting Step #1 - "Run integration tests"
Step #1 - "Run integration tests": Already have image (with digest): python:3.10
Step #1 - "Run integration tests": ============================= test session starts ==============================
Step #1 - "Run integration tests": platform linux -- Python 3.10.20, pytest-9.0.3, pluggy-1.6.0
Step #1 - "Run integration tests": rootdir: /workspace/packages/toolbox-core
Step #1 - "Run integration tests": configfile: pyproject.toml
Step #1 - "Run integration tests": plugins: cov-7.1.0, aioresponses-0.3.0, mock-3.15.1, asyncio-1.4.0
Step #1 - "Run integration tests": asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
Step #1 - "Run integration tests": collected 1208 items
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/mcp_transport/test_base.py ...................                     [  1%]
Step #1 - "Run integration tests": tests/mcp_transport/test_telemetry.py .................................. [  4%]
Step #1 - "Run integration tests": ...........                                                              [  5%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20241105.py .................................. [  8%]
Step #1 - "Run integration tests":                                                                          [  8%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250326.py .................................. [ 10%]
Step #1 - "Run integration tests":                                                                          [ 10%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250618.py .................................. [ 13%]
Step #1 - "Run integration tests": ....                                                                     [ 14%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20251125.py .................................. [ 16%]
Step #1 - "Run integration tests": ..                                                                       [ 17%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20260618.py ..................                 [ 18%]
Step #1 - "Run integration tests": tests/test_auth_methods.py ..........                                    [ 19%]
Step #1 - "Run integration tests": tests/test_client.py ...........................                         [ 21%]
Step #1 - "Run integration tests": tests/test_e2e.py ...................................                    [ 24%]
Step #1 - "Run integration tests": tests/test_e2e_mcp.py .................................................. [ 28%]
Step #1 - "Run integration tests": ........................................................................ [ 34%]
Step #1 - "Run integration tests": ..............................................                           [ 38%]
Step #1 - "Run integration tests": tests/test_protocol.py .........................                         [ 40%]
Step #1 - "Run integration tests": tests/test_sync_client.py ................                               [ 41%]
Step #1 - "Run integration tests": tests/test_sync_e2e.py ..............                                    [ 42%]
Step #1 - "Run integration tests": tests/test_sync_tool.py ....................                             [ 44%]
Step #1 - "Run integration tests": tests/test_tool.py ....................................                  [ 47%]
Step #1 - "Run integration tests": tests/test_utils.py .............................                        [ 50%]
Step #1 - "Run integration tests": tests/mcp_transport/test_base.py ...................                     [ 51%]
Step #1 - "Run integration tests": tests/mcp_transport/test_telemetry.py .................................. [ 54%]
Step #1 - "Run integration tests": ...........                                                              [ 55%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20241105.py .................................. [ 58%]
Step #1 - "Run integration tests":                                                                          [ 58%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250326.py .................................. [ 60%]
Step #1 - "Run integration tests":                                                                          [ 60%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250618.py .................................. [ 63%]
Step #1 - "Run integration tests": ....                                                                     [ 64%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20251125.py .................................. [ 66%]
Step #1 - "Run integration tests": ..                                                                       [ 67%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20260618.py ..................                 [ 68%]
Step #1 - "Run integration tests": tests/test_auth_methods.py ..........                                    [ 69%]
Step #1 - "Run integration tests": tests/test_client.py ...........................                         [ 71%]
Step #1 - "Run integration tests": tests/test_e2e.py ...................................                    [ 74%]
Step #1 - "Run integration tests": tests/test_e2e_mcp.py .................................................. [ 78%]
Step #1 - "Run integration tests": ........................................................................ [ 84%]
Step #1 - "Run integration tests": tests/test_protocol.py .........................                         [ 90%]
Step #1 - "Run integration tests":   /workspace/venv/lib/python3.10/site-packages/google/api_core/_python_version_support.py:255: FutureWarning: You are using a Python version (3.10.20) which Google will stop supporting in new releases of google.cloud.secretmanager_v1 once it reaches its end of life (2026-10-04). Please upgrade to the latest Python version, or at least Python 3.11, to continue receiving updates for google.cloud.secretmanager_v1 past that date.
Step #1 - "Run integration tests": tests/test_sync_client.py: 8 warnings
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": Name                                                Stmts   Miss  Cover
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_core/__init__.py                            4      0   100%
Step #1 - "Run integration tests": src/toolbox_core/auth_methods.py                       59      2    97%
Step #1 - "Run integration tests": src/toolbox_core/client.py                            123      2    98%
Step #1 - "Run integration tests": src/toolbox_core/exceptions.py                          6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/itransport.py                         20      5    75%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/__init__.py              6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/telemetry.py           153     14    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/transport_base.py      106      3    97%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/mcp.py       132     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/mcp.py       145     19    87%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/mcp.py       135     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/mcp.py       135     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/mcp.py       128     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/types.py      81      1    99%
Step #1 - "Run integration tests": src/toolbox_core/protocol.py                           76      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_client.py                        45      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_tool.py                          67      0   100%
Step #1 - "Run integration tests": src/toolbox_core/tool.py                              119      6    95%
Step #1 - "Run integration tests": src/toolbox_core/utils.py                              61      0   100%
Step #1 - "Run integration tests": src/toolbox_core/version.py                             1      0   100%
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL                                                1982    110    94%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 94.45%
Step #1 - "Run integration tests": ===================== 1208 passed, 115 warnings in 42.73s ======================

starting build "7ab58ae5-703f-4853-aa51-16b8752df95d"

FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
 * branch            caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.10
Step #0 - "Install requirements": 3.10: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": ccf7e73781a2: Pulling fs layer
Step #0 - "Install requirements": de50cca5f6c1: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Waiting
Step #0 - "Install requirements": ccf7e73781a2: Verifying Checksum
Step #0 - "Install requirements": ccf7e73781a2: Download complete
Step #0 - "Install requirements": de50cca5f6c1: Verifying Checksum
Step #0 - "Install requirements": de50cca5f6c1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Verifying Checksum
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e2fc6298fd6c: Verifying Checksum
Step #0 - "Install requirements": e2fc6298fd6c: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": ccf7e73781a2: Pull complete
Step #0 - "Install requirements": de50cca5f6c1: Pull complete
Step #0 - "Install requirements": e2fc6298fd6c: Pull complete
Step #0 - "Install requirements": Digest: sha256:2ea4d6f8d2c11b0a2aa12be3d2fc06339315138f5116cfd2e662c5325b0ef23b
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.10
Step #0 - "Install requirements": docker.io/library/python:3.10
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements":   Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements":      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 63.4 MB/s eta 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Step #0 - "Install requirements": 
Step #0 - "Install requirements": [notice] A new release of pip is available: 23.0.1 -> 26.1.2
Step #0 - "Install requirements": [notice] To update, run: pip install --upgrade pip
Step #0 - "Install requirements": Using CPython 3.10.20 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 248ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements":  Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 526ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 61ms
Step #0 - "Install requirements":  + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 90 packages in 2.17s
Step #0 - "Install requirements":    Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.6MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Downloading numpy (15.6MiB)
Step #0 - "Install requirements":       Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements":  Downloaded ast-serialize
Step #0 - "Install requirements":  Downloaded pydantic-core
Step #0 - "Install requirements":  Downloaded aiohttp
Step #0 - "Install requirements":  Downloaded black
Step #0 - "Install requirements":  Downloaded cryptography
Step #0 - "Install requirements":  Downloaded grpcio
Step #0 - "Install requirements":  Downloaded pygments
Step #0 - "Install requirements":  Downloaded numpy
Step #0 - "Install requirements":  Downloaded mypy
Step #0 - "Install requirements":  Downloaded jedi
Step #0 - "Install requirements": Prepared 90 packages in 2.64s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 90 packages in 1.17s
Step #0 - "Install requirements":  + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements":  + aiohttp==3.14.1
Step #0 - "Install requirements":  + aioresponses==0.7.8
Step #0 - "Install requirements":  + aiosignal==1.4.0
Step #0 - "Install requirements":  + annotated-types==0.7.0
Step #0 - "Install requirements":  + ast-serialize==0.6.0
Step #0 - "Install requirements":  + asttokens==3.0.1
Step #0 - "Install requirements":  + async-timeout==5.0.1
Step #0 - "Install requirements":  + attrs==26.1.0
Step #0 - "Install requirements":  + backports-asyncio-runner==1.2.0
Step #0 - "Install requirements":  + black==26.5.1
Step #0 - "Install requirements":  + certifi==2026.6.17
Step #0 - "Install requirements":  + cffi==2.0.0
Step #0 - "Install requirements":  + charset-normalizer==3.4.7
Step #0 - "Install requirements":  + click==8.4.2
Step #0 - "Install requirements":  + coverage==7.14.3
Step #0 - "Install requirements":  + cryptography==49.0.0
Step #0 - "Install requirements":  + decorator==5.3.1
Step #0 - "Install requirements":  + deprecated==1.3.1
Step #0 - "Install requirements":  + exceptiongroup==1.3.1
Step #0 - "Install requirements":  + executing==2.2.1
Step #0 - "Install requirements":  + frozenlist==1.8.0
Step #0 - "Install requirements":  + google-api-core==2.31.0
Step #0 - "Install requirements":  + google-auth==2.55.1
Step #0 - "Install requirements":  + google-cloud-core==2.6.0
Step #0 - "Install requirements":  + google-cloud-secr
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%227ab58ae5-703f-4853-aa51-16b8752df95d%22+AND+resource.labels.build_trigger_id%3D%22caa13b88-8f06-454c-889e-54bf4805d974%22&project=toolbox-testing-438616.]
...
o.
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": _______________ coverage: platform linux, python 3.10.20-final-0 _______________
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": Name                                                Stmts   Miss  Cover
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_core/__init__.py                            4      0   100%
Step #1 - "Run integration tests": src/toolbox_core/auth_methods.py                       59      2    97%
Step #1 - "Run integration tests": src/toolbox_core/client.py                            123      2    98%
Step #1 - "Run integration tests": src/toolbox_core/exceptions.py                          6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/itransport.py                         20      5    75%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/__init__.py              6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/telemetry.py           153     14    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/transport_base.py      106      3    97%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/mcp.py       132     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/mcp.py       145     19    87%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/mcp.py       135     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/mcp.py       135     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/mcp.py       128     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/types.py      81      1    99%
Step #1 - "Run integration tests": src/toolbox_core/protocol.py                           76      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_client.py                        45      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_tool.py                          67      0   100%
Step #1 - "Run integration tests": src/toolbox_core/tool.py                              119      6    95%
Step #1 - "Run integration tests": src/toolbox_core/utils.py                              61      0   100%
Step #1 - "Run integration tests": src/toolbox_core/version.py                             1      0   100%
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL                                                1982    110    94%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 94.45%
Step #1 - "Run integration tests": ===================== 1208 passed, 115 warnings in 42.73s ======================

starting build "7ab58ae5-703f-4853-aa51-16b8752df95d"

FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
 * branch            caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.10
Step #0 - "Install requirements": 3.10: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": ccf7e73781a2: Pulling fs layer
Step #0 - "Install requirements": de50cca5f6c1: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Pulling fs layer
Step #0 - "Install requirements": e2fc6298fd6c: Waiting
Step #0 - "Install requirements": ccf7e73781a2: Verifying Checksum
Step #0 - "Install requirements": ccf7e73781a2: Download complete
Step #0 - "Install requirements": de50cca5f6c1: Verifying Checksum
Step #0 - "Install requirements": de50cca5f6c1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Verifying Checksum
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e2fc6298fd6c: Verifying Checksum
Step #0 - "Install requirements": e2fc6298fd6c: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": ccf7e73781a2: Pull complete
Step #0 - "Install requirements": de50cca5f6c1: Pull complete
Step #0 - "Install requirements": e2fc6298fd6c: Pull complete
Step #0 - "Install requirements": Digest: sha256:2ea4d6f8d2c11b0a2aa12be3d2fc06339315138f5116cfd2e662c5325b0ef23b
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.10
Step #0 - "Install requirements": docker.io/library/python:3.10
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements":   Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements":      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 63.4 MB/s eta 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Step #0 - "Install requirements": 
Step #0 - "Install requirements": [notice] A new release of pip is available: 23.0.1 -> 26.1.2
Step #0 - "Install requirements": [notice] To update, run: pip install --upgrade pip
Step #0 - "Install requirements": Using CPython 3.10.20 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 248ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements":  Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 526ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 61ms
Step #0 - "Install requirements":  + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 90 packages in 2.17s
Step #0 - "Install requirements":    Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.6MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Downloading numpy (15.6MiB)
Step #0 - "Install requirements":       Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements":  Downloaded ast-serialize
Step #0 - "Install requirements":  Downloaded pydantic-core
Step #0 - "Install requirements":  Downloaded aiohttp
Step #0 - "Install requirements":  Downloaded black
Step #0 - "Install requirements":  Downloaded cryptography
Step #0 - "Install requirements":  Downloaded grpcio
Step #0 - "Install requirements":  Downloaded pygments
Step #0 - "Install requirements":  Downloaded numpy
Step #0 - "Install requirements":  Downloaded mypy
Step #0 - "Install requirements":  Downloaded jedi
Step #0 - "Install requirements": Prepared 90 packages in 2.64s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 90 packages in 1.17s
Step #0 - "Install requirements":  + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements":  + aiohttp==3.14.1
Step #0 - "Install requirements":  + aioresponses==0.7.8
Step #0 - "Install requirements":  + aiosignal==1.4.0
Step #0 - "Install requirements":  + annotated-types==0.7.0
Step #0 - "Install requirements":  + ast-serialize==0.6.0
Step #0 - "Install requirements":  + asttokens==3.0.1
Step #0 - "Install requirements":  + async-timeout==5.0.1
Step #0 - "Install requirements":  + attrs==26.1.0
Step #0 - "Install requirements":  + backports-asyncio-runner==1.2.0
Step #0 - "Install requirements":  + black==26.5.1
Step #0 - "Install requirements":  + certifi==2026.6.17
Step #0 - "Install requirements":  + cffi==2.0.0
Step #0 - "Install requirements":  + charset-normalizer==3.4.7
Step #0 - "Install requirements":  + click==8.4.2
Step #0 - "Install requirements":  + coverage==7.14.3
Step #0 - "Install requirements":  + cryptography==49.0.0
Step #0 - "Install requirements":  + decorator==5.3.1
Step #0 - "Install requirements":  + deprecated==1.3.1
Step #0 - "Install requirements":  + exceptiongroup==1.3.1
Step #0 - "Install requirements":  + executing==2.2.1
Step #0 - "Install requirements":  + frozenlist==1.8.0
Step #0 - "Install requirements":  + google-api-core==2.31.0
Step #0 - "Install requirements":  + google-auth==2.55.1
Step #0 - "Install requirements":  + google-cloud-core==2.6.0
Step #0 - "Install requirements":  + google-cloud-secret-manager==2.28.0
Step #0 - "Install requirements":  + google-cloud-storage==3.10.1
Step #0 - "Install requirements":  + google-crc32c==1.8.0
Step #0 - "Install requirements":  + google-resumable-media==2.10.0
Step #0 - "Install requirements":  + googleapis-common-protos==1.75.0
Step #0 - "Install requirements":  + grpc-google-iam-v1==0.14.4
Step #0 - "Install requirements":  + grpcio==1.81.1
Step #0 - "Install requirements":  + grpcio-status==1.81.1
Step #0 - "Install requirements":  + idna==3.18
Step #0 - "Install requirements":  + importlib-metadata==8.7.1
Step #0 - "Install requirements":  + iniconfig==2.3.0
Step #0 - "Install requirements":  + ipython==8.39.0
Step #0 - "Install requirements":  + isort==8.0.1
Step #0 - "Install requirements":  + jedi==0.20.0
Step #0 - "Install requirements":  + librt==0.12.0
Step #0 - "Install requirements":  + matplotlib-inline==0.2.2
Step #0 - "Install requirements":  + multidict==6.7.1
Step #0 - "Install requirements":  + mypy==2.1.0
Step #0 - "Install requirements":  + mypy-extensions==1.1.0
Step #0 - "Install requirements":  + numpy==2.1.3
Step #0 - "Install requirements":  + opentelemetry-api==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-common==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-grpc==1.41.1
Step #0 - "Install requirements":  + opentelemetry-exporter-otlp-proto-http==1.41.1
Step #0 - "Install requirements":  + opentelemetry-proto==1.41.1
Step #0 - "Install requirements":  + opentelemetry-sdk==1.41.1
Step #0 - "Install requirements":  + opentelemetry-semantic-conventions==0.62b1
Step #0 - "Install requirements":  + packaging==26.2
Step #0 - "Install requirements":  + parso==0.8.7
Step #0 - "Install requirements":  + pathspec==1.1.1
Step #0 - "Install requirements":  + pexpect==4.9.0
Step #0 - "Install requirements":  + platformdirs==4.10.0
Step #0 - "Install requirements":  + pluggy==1.6.0
Step #0 - "Install requirements":  + prompt-toolkit==3.0.52
Step #0 - "Install requirements":  + propcache==0.5.2
Step #0 - "Install requirements":  + proto-plus==1.28.0
Step #0 - "Install requirements":  + protobuf==6.33.6
Step #0 - "Install requirements":  + ptyprocess==0.7.0
Step #0 - "Install requirements":  + pure-eval==0.2.3
Step #0 - "Install requirements":  + pyasn1==0.6.3
Step #0 - "Install requirements":  + pyasn1-modules==0.4.2
Step #0 - "Install requirements":  + pycparser==3.0
Step #0 - "Install requirements":  + pydantic==2.13.4
Step #0 - "Install requirements":  + pydantic-core==2.46.4
Step #0 - "Install requirements":  + pygments==2.20.0
Step #0 - "Install requirements":  + pytest==9.0.3
Step #0 - "Install requirements":  + pytest-aioresponses==0.3.0
Step #0 - "Install requirements":  + pytest-asyncio==1.4.0
Step #0 - "Install requirements":  + pytest-cov==7.1.0
Step #0 - "Install requirements":  + pytest-mock==3.15.1
Step #0 - "Install requirements":  + pytokens==0.4.1
Step #0 - "Install requirements":  + requests==2.34.2
Step #0 - "Install requirements":  + stack-data==0.6.3
Step #0 - "Install requirements":  + tokenize-rt==6.2.0
Step #0 - "Install requirements":  + tomli==2.4.1
Step #0 - "Install requirements":  + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements":  + traitlets==5.15.1
Step #0 - "Install requirements":  + typing-extensions==4.15.0
Step #0 - "Install requirements":  + typing-inspection==0.4.2
Step #0 - "Install requirements":  + urllib3==2.7.0
Step #0 - "Install requirements":  + wcwidth==0.8.2
Step #0 - "Install requirements":  + wrapt==2.2.2
Step #0 - "Install requirements":  + yarl==1.24.2
Step #0 - "Install requirements":  + zipp==4.1.0
Step #0 - "Install requirements": Using Python 3.10.20 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 27 packages in 156ms
Step #0 - "Install requirements": Downloading aiohttp (1.6MiB)
Step #0 - "Install requirements":  Downloaded aiohttp
Step #0 - "Install requirements": Prepared 2 packages in 181ms
Step #0 - "Install requirements": Uninstalled 2 packages in 5ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 2 packages in 18ms
Step #0 - "Install requirements":  - aiohttp==3.14.1
Step #0 - "Install requirements":  + aiohttp==3.14.0
Step #0 - "Install requirements":  - google-auth==2.55.1
Step #0 - "Install requirements":  + google-auth==2.53.0
Finished Step #0 - "Install requirements"
Starting Step #1 - "Run integration tests"
Step #1 - "Run integration tests": Already have image (with digest): python:3.10
Step #1 - "Run integration tests": ============================= test session starts ==============================
Step #1 - "Run integration tests": platform linux -- Python 3.10.20, pytest-9.0.3, pluggy-1.6.0
Step #1 - "Run integration tests": rootdir: /workspace/packages/toolbox-core
Step #1 - "Run integration tests": configfile: pyproject.toml
Step #1 - "Run integration tests": plugins: cov-7.1.0, aioresponses-0.3.0, mock-3.15.1, asyncio-1.4.0
Step #1 - "Run integration tests": asyncio: mode=strict, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
Step #1 - "Run integration tests": collected 1208 items
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/mcp_transport/test_base.py ...................                     [  1%]
Step #1 - "Run integration tests": tests/mcp_transport/test_telemetry.py .................................. [  4%]
Step #1 - "Run integration tests": ...........                                                              [  5%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20241105.py .................................. [  8%]
Step #1 - "Run integration tests":                                                                          [  8%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250326.py .................................. [ 10%]
Step #1 - "Run integration tests":                                                                          [ 10%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250618.py .................................. [ 13%]
Step #1 - "Run integration tests": ....                                                                     [ 14%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20251125.py .................................. [ 16%]
Step #1 - "Run integration tests": ..                                                                       [ 17%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20260618.py ..................                 [ 18%]
Step #1 - "Run integration tests": tests/test_auth_methods.py ..........                                    [ 19%]
Step #1 - "Run integration tests": tests/test_client.py ...........................                         [ 21%]
Step #1 - "Run integration tests": tests/test_e2e.py ...................................                    [ 24%]
Step #1 - "Run integration tests": tests/test_e2e_mcp.py .................................................. [ 28%]
Step #1 - "Run integration tests": ........................................................................ [ 34%]
Step #1 - "Run integration tests": ..............................................                           [ 38%]
Step #1 - "Run integration tests": tests/test_protocol.py .........................                         [ 40%]
Step #1 - "Run integration tests": tests/test_sync_client.py ................                               [ 41%]
Step #1 - "Run integration tests": tests/test_sync_e2e.py ..............                                    [ 42%]
Step #1 - "Run integration tests": tests/test_sync_tool.py ....................                             [ 44%]
Step #1 - "Run integration tests": tests/test_tool.py ....................................                  [ 47%]
Step #1 - "Run integration tests": tests/test_utils.py .............................                        [ 50%]
Step #1 - "Run integration tests": tests/mcp_transport/test_base.py ...................                     [ 51%]
Step #1 - "Run integration tests": tests/mcp_transport/test_telemetry.py .................................. [ 54%]
Step #1 - "Run integration tests": ...........                                                              [ 55%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20241105.py .................................. [ 58%]
Step #1 - "Run integration tests":                                                                          [ 58%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250326.py .................................. [ 60%]
Step #1 - "Run integration tests":                                                                          [ 60%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20250618.py .................................. [ 63%]
Step #1 - "Run integration tests": ....                                                                     [ 64%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20251125.py .................................. [ 66%]
Step #1 - "Run integration tests": ..                                                                       [ 67%]
Step #1 - "Run integration tests": tests/mcp_transport/test_v20260618.py ..................                 [ 68%]
Step #1 - "Run integration tests": tests/test_auth_methods.py ..........                                    [ 69%]
Step #1 - "Run integration tests": tests/test_client.py ...........................                         [ 71%]
Step #1 - "Run integration tests": tests/test_e2e.py ...................................                    [ 74%]
Step #1 - "Run integration tests": tests/test_e2e_mcp.py .................................................. [ 78%]
Step #1 - "Run integration tests": ........................................................................ [ 84%]
Step #1 - "Run integration tests": ..............................................                           [ 88%]
Step #1 - "Run integration tests": tests/test_protocol.py .........................                         [ 90%]
Step #1 - "Run integration tests": tests/test_sync_client.py ................                               [ 91%]
Step #1 - "Run integration tests": tests/test_sync_e2e.py ..............                                    [ 92%]
Step #1 - "Run integration tests": tests/test_sync_tool.py ....................                             [ 94%]
Step #1 - "Run integration tests": tests/test_tool.py ....................................                  [ 97%]
Step #1 - "Run integration tests": tests/test_utils.py .............................                        [100%]
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": =============================== warnings summary ===============================
Step #1 - "Run integration tests": ../../venv/lib/python3.10/site-packages/google/api_core/_python_version_support.py:255
Step #1 - "Run integration tests":   /workspace/venv/lib/python3.10/site-packages/google/api_core/_python_version_support.py:255: FutureWarning: You are using a Python version (3.10.20) which Google will stop supporting in new releases of google.api_core once it reaches its end of life (2026-10-04). Please upgrade to the latest Python version, or at least Python 3.11, to continue receiving updates for google.api_core past that date.
Step #1 - "Run integration tests":     warnings.warn(message, FutureWarning)
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": ../../venv/lib/python3.10/site-packages/google/api_core/_python_version_support.py:255
Step #1 - "Run integration tests":   /workspace/venv/lib/python3.10/site-packages/google/api_core/_python_version_support.py:255: FutureWarning: You are using a Python version (3.10.20) which Google will stop supporting in new releases of google.cloud.secretmanager_v1 once it reaches its end of life (2026-10-04). Please upgrade to the latest Python version, or at least Python 3.11, to continue receiving updates for google.cloud.secretmanager_v1 past that date.
Step #1 - "Run integration tests":     warnings.warn(message, FutureWarning)
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/test_tool.py:547
Step #1 - "Run integration tests":   /workspace/packages/toolbox-core/tests/test_tool.py:547: DeprecationWarning: invalid escape sequence '\('
Step #1 - "Run integration tests":     expected_error_message = "Authentication source\(s\) \`unused-auth-service\` unused by tool \`sample_tool\`."
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/test_client.py: 18 warnings
Step #1 - "Run integration tests": tests/test_e2e.py: 12 warnings
Step #1 - "Run integration tests": tests/test_e2e_mcp.py: 60 warnings
Step #1 - "Run integration tests": tests/test_sync_client.py: 8 warnings
Step #1 - "Run integration tests": tests/test_sync_e2e.py: 10 warnings
Step #1 - "Run integration tests":   /workspace/packages/toolbox-core/src/toolbox_core/utils.py:56: UserWarning: This connection is using HTTP. To prevent credential exposure, please ensure all communication is sent over HTTPS.
Step #1 - "Run integration tests":     warnings.warn(
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/test_sync_client.py::TestSyncClientLifecycle::test_load_tool_raises_if_loop_or_thread_none[http://localhost:5000]
Step #1 - "Run integration tests": tests/test_sync_client.py::TestSyncClientLifecycle::test_load_tool_raises_if_loop_or_thread_none[http://localhost:5001]
Step #1 - "Run integration tests":   /workspace/packages/toolbox-core/tests/test_sync_client.py:342: RuntimeWarning: coroutine 'ToolboxClient.load_tool' was never awaited
Step #1 - "Run integration tests":     with pytest.raises(
Step #1 - "Run integration tests":   Enable tracemalloc to get traceback where the object was allocated.
Step #1 - "Run integration tests":   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": tests/test_sync_client.py::TestSyncClientLifecycle::test_load_tool_raises_if_loop_or_thread_none[http://localhost:5000]
Step #1 - "Run integration tests": tests/test_sync_client.py::TestSyncClientLifecycle::test_load_tool_raises_if_loop_or_thread_none[http://localhost:5001]
Step #1 - "Run integration tests":   /workspace/packages/toolbox-core/tests/test_sync_client.py:351: RuntimeWarning: coroutine 'ToolboxClient.load_toolset' was never awaited
Step #1 - "Run integration tests":     with pytest.raises(
Step #1 - "Run integration tests":   Enable tracemalloc to get traceback where the object was allocated.
Step #1 - "Run integration tests":   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": _______________ coverage: platform linux, python 3.10.20-final-0 _______________
Step #1 - "Run integration tests": 
Step #1 - "Run integration tests": Name                                                Stmts   Miss  Cover
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_core/__init__.py                            4      0   100%
Step #1 - "Run integration tests": src/toolbox_core/auth_methods.py                       59      2    97%
Step #1 - "Run integration tests": src/toolbox_core/client.py                            123      2    98%
Step #1 - "Run integration tests": src/toolbox_core/exceptions.py                          6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/itransport.py                         20      5    75%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/__init__.py              6      0   100%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/telemetry.py           153     14    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/transport_base.py      106      3    97%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/mcp.py       132     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20241105/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/mcp.py       145     19    87%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250326/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/mcp.py       135     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20250618/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/mcp.py       135     15    89%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20251125/types.py      95      1    99%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/mcp.py       128     12    91%
Step #1 - "Run integration tests": src/toolbox_core/mcp_transport/v20260618/types.py      81      1    99%
Step #1 - "Run integration tests": src/toolbox_core/protocol.py                           76      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_client.py                        45      0   100%
Step #1 - "Run integration tests": src/toolbox_core/sync_tool.py                          67      0   100%
Step #1 - "Run integration tests": src/toolbox_core/tool.py                              119      6    95%
Step #1 - "Run integration tests": src/toolbox_core/utils.py                              61      0   100%
Step #1 - "Run integration tests": src/toolbox_core/version.py                             1      0   100%
Step #1 - "Run integration tests": -----------------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL                                                1982    110    94%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 94.45%
Step #1 - "Run integration tests": ===================== 1208 passed, 115 warnings in 42.73s ======================
Finished Step #1 - "Run integration tests"
PUSH
DONE

Build Log: https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%227ab58ae5-703f-4853-aa51-16b8752df95d%22+AND+resource.labels.build_trigger_id%3D%22caa13b88-8f06-454c-889e-54bf4805d974%22&project=toolbox-testing-438616