Skip to content

[None][refactor] Organize SMG gRPC adapter by protocol - #17179

Open
QiJune wants to merge 3 commits into
NVIDIA:mainfrom
QiJune:grpc
Open

[None][refactor] Organize SMG gRPC adapter by protocol#17179
QiJune wants to merge 3 commits into
NVIDIA:mainfrom
QiJune:grpc

Conversation

@QiJune

@QiJune QiJune commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Dev Engineer Review

  • The refactor moves SMG gRPC code under tensorrt_llm.grpc.smg.
  • serve.py now delegates gRPC startup to launch_smg_server.
  • smg-grpc-proto is optional and is available through the grpc-smg extra.
  • Missing dependencies produce an actionable installation error.
  • Review should verify server cleanup when binding or startup fails.
  • Removed gRPC exports and helper paths have no compatibility aliases.
  • The test-list and dependency configuration changes require validation.

QA Engineer Review

  • Added test_smg_bindings_missing_gives_actionable_error.
  • Added test_smg_bindings_present_smoke.
  • Updated tests/unittest/grpc/smg/test_smg.py imports and optional-dependency handling.
  • Added unittest/grpc/test_grpc_optional.py and unittest/grpc/smg/test_smg.py to tests/integration/test_lists/test-db/l0_a10.yml.
  • All modified test functions are covered in the CI test list.
  • Verdict: needs follow-up because CI coverage is not confirmed. The test list is not registered in all required CI systems.

Description

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • If PR introduces API changes, an appropriate PR label is added - either api-compatible or api-breaking. For api-breaking, include BREAKING in the PR title.

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

Signed-off-by: junq <22017000+QiJune@users.noreply.github.com>
@QiJune

QiJune commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 284ec70b-20db-47cc-8ef6-91934df35277

📥 Commits

Reviewing files that changed from the base of the PR and between 86924e4 and fbcf044.

📒 Files selected for processing (2)
  • requirements.txt
  • tests/integration/test_lists/test-db/l0_a10.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • tests/integration/test_lists/test-db/l0_a10.yml
  • requirements.txt

Walkthrough

The gRPC serve path now uses the SMG server launcher. The change adds optional SMG bindings, server lifecycle handling, adapter import updates, dependency metadata, and coverage for installed and missing SMG dependencies.

Changes

SMG gRPC integration

Layer / File(s) Summary
SMG adapter bindings and imports
tensorrt_llm/grpc/..., tensorrt_llm/grpc/smg/..., tests/unittest/grpc/smg/test_smg.py
The SMG package adds optional protobuf bindings. The request manager, servicer, and tests use the SMG package paths.
SMG server lifecycle
tensorrt_llm/grpc/smg/server.py
launch_smg_server constructs the selected backend, wires request handling, starts gRPC reflection when available, and performs graceful shutdown.
Serve command wiring and dependency validation
tensorrt_llm/commands/serve.py, setup.py, requirements*.txt, tests/unittest/grpc/test_grpc_optional.py, tests/integration/test_lists/test-db/l0_a10.yml
The gRPC command invokes launch_smg_server. The grpc-smg extra provides the optional dependency. Tests verify missing and installed binding behavior.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested reviewers: allisonlim-nv, bowenfu

Sequence Diagram(s)

sequenceDiagram
  participant ServeCommand
  participant launch_smg_server
  participant LLMEngine
  participant RequestManager
  participant SMGServicer
  participant grpcServer
  ServeCommand->>launch_smg_server: Pass host, port, LLM arguments, and model name
  launch_smg_server->>LLMEngine: Construct selected backend
  launch_smg_server->>RequestManager: Create request manager
  launch_smg_server->>SMGServicer: Register SMG servicer
  launch_smg_server->>grpcServer: Configure, bind, and start
  grpcServer-->>launch_smg_server: Signal or interruption
  launch_smg_server->>grpcServer: Stop gracefully
  launch_smg_server->>LLMEngine: Shut down engine
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description leaves the required Description and Test Coverage sections empty and provides no implementation or test details. Add a concise explanation of the problem and solution, list relevant tests, and complete the checklist items that apply.
Docstring Coverage ⚠️ Warning Docstring coverage is 60.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the SMG gRPC adapter refactor.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
tensorrt_llm/grpc/smg/server.py (1)

117-120: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Dead except KeyboardInterrupt branch.

loop.add_signal_handler(signal.SIGINT, signal_handler) at Line 115 replaces the default SIGINT handling for this event loop. Once registered, SIGINT no longer raises KeyboardInterrupt inside the coroutine; it invokes signal_handler, which sets stop_event. The except KeyboardInterrupt at Line 119 therefore does not trigger during normal operation after Line 115 runs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tensorrt_llm/grpc/smg/server.py` around lines 117 - 120, Remove the
unreachable KeyboardInterrupt handler around stop_event.wait in the server
startup flow. Keep loop.add_signal_handler(signal.SIGINT, signal_handler) and
the existing stop_event-based shutdown behavior unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tensorrt_llm/grpc/smg/server.py`:
- Around line 62-129: Widen the cleanup scope in the server lifecycle so the
existing shutdown logic covering llm.shutdown() also handles failures from
server.add_insecure_port(), server.start(), and subsequent startup or serving
operations after LLM construction. Ensure cleanup runs exactly once for any
post-construction exception while preserving the current graceful server.stop()
behavior.

---

Nitpick comments:
In `@tensorrt_llm/grpc/smg/server.py`:
- Around line 117-120: Remove the unreachable KeyboardInterrupt handler around
stop_event.wait in the server startup flow. Keep
loop.add_signal_handler(signal.SIGINT, signal_handler) and the existing
stop_event-based shutdown behavior unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 822a751f-5f58-42a0-9edd-1f2f2d73f128

📥 Commits

Reviewing files that changed from the base of the PR and between bf1ddb7 and fd9c25e.

📒 Files selected for processing (8)
  • tensorrt_llm/commands/serve.py
  • tensorrt_llm/grpc/__init__.py
  • tensorrt_llm/grpc/smg/__init__.py
  • tensorrt_llm/grpc/smg/bindings.py
  • tensorrt_llm/grpc/smg/request_manager.py
  • tensorrt_llm/grpc/smg/server.py
  • tensorrt_llm/grpc/smg/servicer.py
  • tests/unittest/grpc/smg/test_smg.py

Comment thread tensorrt_llm/grpc/smg/server.py
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63353 [ run ] triggered by Bot. Commit: fd9c25e Link to invocation

@BowenFu

BowenFu commented Aug 3, 2026

Copy link
Copy Markdown

Reviewed the move itself: launch_smg_server is semantically identical to the old launch_grpc_server — message limits, keepalive values, signal handling, stop(grace=5.0) and the shutdown ordering are all unchanged — and nothing left in the tree references the old module paths. Holding only until blossom reports; I'd rather not be the first approver on a package relocation with no pipeline result yet.

Three things worth settling before merge:

  1. tests/unittest/grpc/smg/test_smg.py isn't referenced in any test-db/ or jenkins/ list under either its old or new path, so the adapter's entire suite is dead in CI. The reorg is a good moment to register it — otherwise the reshuffle is unverified by anything.

  2. tensorrt_llm/grpc/__init__.py drops GrpcRequestManager, TrtllmServiceServicer, trtllm_service_pb2 and the create_*_from_proto helpers with no shim, and the old module paths go away too. Nothing in-repo uses them and the package is only about five weeks old and undocumented, so I'm not blocking on it — but a one-release alias would be cheap if any router-side code pins the old paths.

  3. Carried over from the old code but newly written into server.py: the finally only wraps await stop_event.wait(), so a failure in add_insecure_port() or server.start() (port already bound, for instance) leaves the loaded LLM engine unshut. Cheap to fix while the file is new.

The *_AVAILABLE flags being deleted is a straight improvement — smg-grpc-proto is a hard requirement in requirements.txt, so they were always True, and the old None fallbacks only turned a missing dependency into an AttributeError later.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63353 [ run ] completed with state FAILURE. Commit: fd9c25e
/LLM/main/L0_MergeRequest_PR pipeline #51341 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@QiJune

QiJune commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63365 [ run ] triggered by Bot. Commit: fd9c25e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63365 [ run ] completed with state FAILURE. Commit: fd9c25e
/LLM/main/L0_MergeRequest_PR pipeline #51350 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@BowenFu

BowenFu commented Aug 3, 2026

Copy link
Copy Markdown

On the two red runs — neither looks like your refactor.

Build 51350 (#63365) ran 27211 passing tests, 0 test-level failures; the only FAILED entries are Stage Failed on RTX5080-PyTorch-1 and RTXPro6000D-PyTorch-1, with no test attributed to either. On top of that, every pipeline on this base is red on Check Test List: waives.txt:106-107 on main (24d0a8e1c, merged 03:15Z) waive cache_transceiver_precheck[ctx_0]/[gen_0], which are synthetic JUnit case names from jenkins/scripts/perf/disaggregated/slurm_ct_precheck_gate.sh, not pytest IDs in any l0/qa list — so the validator rejects them. #16432, #17121 and #17175 are all failing the same way right now.

That is also why I wouldn't read the earlier build 51341 as signal either — it only got 81 tests in before dying.

Nothing new from me on the diff itself; my earlier notes stand (the tensorrt_llm/grpc/__init__.py export removal with no shim, and tests/unittest/grpc/smg/test_smg.py still being in no test-db or jenkins list under either path). Once the base is unblocked and a clean pipeline lands, this is otherwise ready from my side.

Move the SMG gRPC adapter's smg-grpc-proto package out of the default
install into an opt-in extra (tensorrt_llm[grpc-smg]), so a default
TensorRT-LLM install no longer ships a gateway-specific protobuf package.

- requirements.txt: drop smg-grpc-proto; add it to requirements-dev.txt so
  it stays present in every CI/dev environment (test coverage preserved).
- setup.py: add the grpc-smg extra.
- grpc/smg/bindings.py, commands/serve.py: guard the import and emit an
  actionable "pip install tensorrt_llm[grpc-smg]" hint instead of a bare
  ImportError.
- tests: importorskip-guard test_smg.py; add test_grpc_optional.py covering
  the actionable-error and present-path smoke; register both under l0_a10.

Signed-off-by: junq <22017000+QiJune@users.noreply.github.com>
@QiJune
QiJune requested review from a team as code owners August 4, 2026 04:28
@QiJune

QiJune commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@tensorrt_llm/grpc/smg/bindings.py`:
- Around line 18-25: Update the import guard around trtllm_service_pb2 and
trtllm_service_pb2_grpc to catch ModuleNotFoundError only when e.name equals
"smg_grpc_proto"; preserve the existing optional-package error for that case,
and re-raise all other import failures unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: bf8b014c-c62a-42f9-a3ed-9c392a0a2ff1

📥 Commits

Reviewing files that changed from the base of the PR and between fd9c25e and 86924e4.

📒 Files selected for processing (8)
  • requirements-dev.txt
  • requirements.txt
  • setup.py
  • tensorrt_llm/commands/serve.py
  • tensorrt_llm/grpc/smg/bindings.py
  • tests/integration/test_lists/test-db/l0_a10.yml
  • tests/unittest/grpc/smg/test_smg.py
  • tests/unittest/grpc/test_grpc_optional.py
💤 Files with no reviewable changes (1)
  • requirements.txt
🚧 Files skipped from review as they are similar to previous changes (2)
  • tests/unittest/grpc/smg/test_smg.py
  • tensorrt_llm/commands/serve.py

Comment on lines +18 to +25
try:
from smg_grpc_proto.generated import trtllm_service_pb2, trtllm_service_pb2_grpc
except ImportError as e:
raise ImportError(
"The SMG gRPC adapter requires the optional 'smg-grpc-proto' package, "
"which is not part of the default TensorRT-LLM installation. Install it "
"with: pip install tensorrt_llm[grpc-smg]"
) from e

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT

python -m pip download --no-deps --only-binary=:all: \
  --dest "$tmpdir" 'smg-grpc-proto==0.4.2'

python - "$tmpdir" <<'PY'
from pathlib import Path
import sys
import zipfile

wheel = next(Path(sys.argv[1]).glob("*.whl"))
names = set(zipfile.ZipFile(wheel).namelist())

for name in (
    "smg_grpc_proto/trtllm_service_pb2.py",
    "smg_grpc_proto/trtllm_service_pb2_grpc.py",
    "smg_grpc_proto/generated/trtllm_service_pb2.py",
    "smg_grpc_proto/generated/trtllm_service_pb2_grpc.py",
):
    print(f"{name}: {name in names}")
PY

Repository: NVIDIA/TensorRT-LLM

Length of output: 194


🏁 Script executed:

set -euo pipefail
printf '%s\n' '--- binding file ---'
sed -n '1,80p' tensorrt_llm/grpc/smg/bindings.py
printf '%s\n' '--- SMG dependency declarations and references ---'
rg -n -C 3 'smg-grpc-proto|smg_grpc_proto|grpc-smg' --glob '!build/**' --glob '!dist/**' .

Repository: NVIDIA/TensorRT-LLM

Length of output: 10306


🌐 Web query:

smg-grpc-proto 0.4.2 trtllm_service_pb2 package root generated import

💡 Result:

In the smg-grpc-proto package (which provides generated gRPC stubs for projects like TensorRT-LLM and SGLang) [1][2][3], the generated protobuf modules such as trtllm_service_pb2 are located within the smg_grpc_proto.generated subpackage [4][3]. When using the package, these modules are accessed via imports from the generated namespace [4][3]. For example, in TensorRT-LLM, the integration is handled as follows: from smg_grpc_proto.generated import trtllm_service_pb2, trtllm_service_pb2_grpc [4] The smg-grpc-proto package was introduced to centralize gRPC protobuf definitions, replacing the previous practice where downstream projects like TensorRT-LLM and SGLang maintained local.proto files and custom build-time compilation scripts [2][3]. Consequently, you should not expect to find these generated files in the root package directory or generated via local project build hooks; they are managed as part of the external smg-grpc-proto package installation [5][3]. Note that recent versions of smg-grpc-proto have implemented lazy-loading mechanisms in the package's init.py to optimize imports and avoid loading all backend stubs simultaneously [6].

Citations:


🏁 Script executed:

set -euo pipefail
curl -fsSL https://pypi.org/pypi/smg-grpc-proto/0.4.2/json |
python3 -c 'import json,sys; d=json.load(sys.stdin); print(d["info"]["requires_python"]); print(d["urls"][0]["url"])'

Repository: NVIDIA/TensorRT-LLM

Length of output: 309


🌐 Web query:

site:pypi.org/project/smg-grpc-proto/0.4.2 "from smg_grpc_proto"

💡 Result:

For smg-grpc-proto==0.4.2, the documented import is:

from smg_grpc_proto import (
    sglang_scheduler_pb2,
    sglang_scheduler_pb2_grpc,
)

The package was released on March 4, 2026. (pypi.org)

Citations:


🏁 Script executed:

set -euo pipefail
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
url='https://files.pythonhosted.org/packages/0b/a2/5417b23d0a46cfd2531e20ead5efb73e6800433c5ae82afcdeea5b355be9/smg_grpc_proto-0.4.2-py3-none-any.whl'
curl -fsSL "$url" -o "$tmpdir/pkg.whl"
unzip -Z1 "$tmpdir/pkg.whl" | grep -E '(^|/)(trtllm_service_pb2(_grpc)?\.py|__init__\.py)$' | sort
printf '%s\n' '--- root initializer ---'
unzip -p "$tmpdir/pkg.whl" smg_grpc_proto/__init__.py | sed -n '1,160p'
printf '%s\n' '--- generated initializer ---'
unzip -p "$tmpdir/pkg.whl" smg_grpc_proto/generated/__init__.py 2>/dev/null | sed -n '1,120p' || true

Repository: NVIDIA/TensorRT-LLM

Length of output: 1401


🏁 Script executed:

set -euo pipefail
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
url='https://files.pythonhosted.org/packages/0b/a2/5417b23d0a46cfd2531e20ead5efb73e6800433c5ae82afcdeea5b355be9/smg_grpc_proto-0.4.2-py3-none-any.whl'
curl -fsSL "$url" -o "$tmpdir/pkg.whl"
for file in \
  smg_grpc_proto/generated/trtllm_service_pb2.py \
  smg_grpc_proto/generated/trtllm_service_pb2_grpc.py
do
  printf '%s\n' "--- $file imports ---"
  unzip -p "$tmpdir/pkg.whl" "$file" | sed -n '1,70p' | grep -E '^(from|import) '
done

Repository: NVIDIA/TensorRT-LLM

Length of output: 756


Narrow the optional-dependency guard.

Keep the smg_grpc_proto.generated import path. Catch ModuleNotFoundError only when e.name == "smg_grpc_proto"; re-raise other import failures so missing google.protobuf or grpc dependencies are not reported as a missing optional package.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tensorrt_llm/grpc/smg/bindings.py` around lines 18 - 25, Update the import
guard around trtllm_service_pb2 and trtllm_service_pb2_grpc to catch
ModuleNotFoundError only when e.name equals "smg_grpc_proto"; preserve the
existing optional-package error for that case, and re-raise all other import
failures unchanged.

Source: Coding guidelines

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63659 [ run ] triggered by Bot. Commit: fbcf044 Link to invocation

@BowenFu

BowenFu commented Aug 4, 2026

Copy link
Copy Markdown

Looked at the new commit 86924e459 (making smg-grpc-proto optional). The reorganization in the first commit still reads fine to me; two notes on this one.

The opt-in change itself is safe for released users, but it is a default-install contract change on main. I checked: rel's requirements.txt has never contained smg-grpc-proto, so nobody on a shipped release is affected. But setup.py derives install_requires from requirements.txt, so from this commit on, a default pip install tensorrt_llm (and the default container built from it) no longer has the package, and trtllm-serve --grpc with the SMG protocol goes from working out of the box to needing pip install tensorrt_llm[grpc-smg]. That looks deliberate and I have no objection, but it's worth calling out in the PR description and adding the extra to wherever the gRPC serving path is documented — otherwise the only place it's discoverable is the exception text. (No need to touch security_scanning/pyproject.toml; that one is regenerated and auto-committed by TensorRT_LLM_PLC.groovy.)

Both new except ImportError handlers are too broad. In serve.py the try wraps the whole from tensorrt_llm.grpc.smg.server import launch_smg_server, so any ImportError raised anywhere down that import chain — a broken grpc/protobuf, a typo in a sibling module, a renamed symbol — surfaces to the user as "install tensorrt_llm[grpc-smg]", and as a ValueError at that. bindings.py has the same shape: an import failure of the generated pb2 modules for reasons other than the package being absent gets the same misleading message. Narrowing to the actual missing top-level package would keep the nice hint without hiding real breakage — e.g. check importlib.util.find_spec("smg_grpc_proto") (or match e.name) and re-raise unchanged otherwise. test_grpc_optional.py only exercises the genuinely-absent case, so this wouldn't be caught.

Also a process note rather than a code one: the packaging change is a distinct concern from "organize the adapter by protocol". It's small enough that I wouldn't insist on splitting it, but the title no longer describes the PR.

Nothing here is blocking on my side beyond the open thread on bindings.py and the pipeline — 63659 is still running on fbcf044.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63659 [ run ] completed with state FAILURE. Commit: fbcf044
/LLM/main/L0_MergeRequest_PR pipeline #51615 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@QiJune

QiJune commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63696 [ run ] triggered by Bot. Commit: fbcf044 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #63696 [ run ] completed with state FAILURE. Commit: fbcf044
/LLM/main/L0_MergeRequest_PR pipeline #51649 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants