Skip to content

[https://nvbugs/6482297][fix] Parse boolean stage-config fields in test_to_stage_mapping#16671

Closed
Wanli-Jiang wants to merge 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/fix-stage-mapping-6482297
Closed

[https://nvbugs/6482297][fix] Parse boolean stage-config fields in test_to_stage_mapping#16671
Wanli-Jiang wants to merge 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/fix-stage-mapping-6482297

Conversation

@Wanli-Jiang

@Wanli-Jiang Wanli-Jiang commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

The stage-parsing regex in scripts/test_to_stage_mapping.py only accepted trailing numeric fields in Jenkins stage-config arrays, so the 47 stage entries carrying the runWithSbatch boolean (added by the Slurm test refactor #7176) were silently dropped from the test<->stage mapping, including all DGX_B200-PyTorch-* stages. It also matched commented-out stage lines. As a result, tests listed in l0_b200.yml resolved to no stage and test_cli_functionality failed whenever the seeded sample picked one of them.

  • Accept true/false fields in the stage-config regex and skip //-commented lines when parsing L0_Test.groovy.
  • Fix test_backend_filtering_consistency to tolerate tests legitimately listed under multiple backends (e.g. unittest/kv_cache_manager_v2_tests under both tensorrt and pytorch), which the parser fix exposed.

Summary by CodeRabbit

  • Bug Fixes
    • Improved Jenkins stage-mapping parsing to support configurations containing boolean values and varying numbers of numeric values.
    • Commented-out stage configuration lines are now ignored during parsing.
    • Improved backend consistency validation to accurately identify undeclared backends for each test.

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.

…st_to_stage_mapping

The stage-parsing regex in scripts/test_to_stage_mapping.py only accepted
trailing numeric fields in Jenkins stage-config arrays, so the 47 stage
entries carrying the runWithSbatch boolean (added by the Slurm test
refactor NVIDIA#7176) were silently dropped from the test<->stage mapping,
including all DGX_B200-PyTorch-* stages. It also matched commented-out
stage lines. As a result, tests listed in l0_b200.yml resolved to no
stage and test_cli_functionality failed whenever the seeded sample
picked one of them.

- Accept true/false fields in the stage-config regex and skip
  //-commented lines when parsing L0_Test.groovy.
- Fix test_backend_filtering_consistency to tolerate tests legitimately
  listed under multiple backends (e.g. unittest/kv_cache_manager_v2_tests
  under both tensorrt and pytorch), which the parser fix exposed.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The stage-mapping parser now handles boolean values in Jenkins configuration arrays and ignores comment lines. Backend consistency tests derive excluded backends from each test’s declared mappings.

Changes

Stage Mapping Consistency

Layer / File(s) Summary
Groovy stage mapping parsing
scripts/test_to_stage_mapping.py
The parser accepts mixed numeric and boolean configuration values and skips lines beginning with //.
Per-test backend validation
tests/unittest/tools/test_test_to_stage_mapping.py
Backend consistency checks compute undeclared backends separately for each test case.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: niukuo

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description summarizes the fix, but it does not fill the required Description and Test Coverage sections from the template. Add short Description and Test Coverage sections, and briefly confirm any checklist items relevant to this PR.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Title check ✅ Passed The title matches the required ticket/type format and clearly summarizes the main fix.
✨ 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.

🧹 Nitpick comments (2)
scripts/test_to_stage_mapping.py (1)

50-64: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add focused regression coverage for both parser changes.

Coverage is currently insufficient: the existing downstream checks do not directly prove that mixed integer/boolean arrays are parsed or that commented-out stages are excluded. Add fixtures in tests/unittest/tools/test_test_to_stage_mapping.py asserting both stage_to_yaml and yaml_to_stages for these cases.

Also applies to: 90-91

🤖 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 `@scripts/test_to_stage_mapping.py` around lines 50 - 64, Add focused fixtures
in tests/unittest/tools/test_test_to_stage_mapping.py covering mixed
integer/boolean array entries parsed by _STAGE_RE and commented-out stage
entries being excluded. Assert both stage_to_yaml and yaml_to_stages outputs for
each case, including expected stage names and YAML mappings.
tests/unittest/tools/test_test_to_stage_mapping.py (1)

265-273: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Make the multi-backend regression explicit.

The set-subtraction logic is correct, but the capped sample_tests selection can pass without exercising unittest/kv_cache_manager_v2_tests. Add a focused test or deterministic fixture in tests/unittest/tools/test_test_to_stage_mapping.py asserting that a test declared under both TensorRT and PyTorch maps to both backend stage families.

🤖 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 `@tests/unittest/tools/test_test_to_stage_mapping.py` around lines 265 - 273,
Add a focused regression test in the test-to-stage mapping suite that
deterministically defines a test under both TensorRT and PyTorch, then asserts
its mapping includes both corresponding backend stage families. Ensure this case
is exercised independently of the capped sample_tests selection, while
preserving the existing declared_backends and other_backends checks.
🤖 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.

Nitpick comments:
In `@scripts/test_to_stage_mapping.py`:
- Around line 50-64: Add focused fixtures in
tests/unittest/tools/test_test_to_stage_mapping.py covering mixed
integer/boolean array entries parsed by _STAGE_RE and commented-out stage
entries being excluded. Assert both stage_to_yaml and yaml_to_stages outputs for
each case, including expected stage names and YAML mappings.

In `@tests/unittest/tools/test_test_to_stage_mapping.py`:
- Around line 265-273: Add a focused regression test in the test-to-stage
mapping suite that deterministically defines a test under both TensorRT and
PyTorch, then asserts its mapping includes both corresponding backend stage
families. Ensure this case is exercised independently of the capped sample_tests
selection, while preserving the existing declared_backends and other_backends
checks.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: aeefd221-9988-4880-86d8-ea386ac6d77c

📥 Commits

Reviewing files that changed from the base of the PR and between d75cb89 and 4f8fb78.

📒 Files selected for processing (2)
  • scripts/test_to_stage_mapping.py
  • tests/unittest/tools/test_test_to_stage_mapping.py

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60684 [ run ] triggered by Bot. Commit: 4f8fb78 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60684 [ run ] completed with state FAILURE. Commit: 4f8fb78
/LLM/main/L0_MergeRequest_PR pipeline #48978 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

Wanli-Jiang added a commit to Wanli-Jiang/TensorRT-LLM that referenced this pull request Jul 22, 2026
… and CI plumbing

Trailing test/example/CI cleanup after the legacy TensorRT backend
removal (TRTLLM-14026, PR NVIDIA#16369).

CI schedules / jenkins:
- Move backend-neutral tests off the retired -TensorRT- stages and
  delete all dead backend=tensorrt test-db buckets; flip remaining
  neutral buckets to pytorch so parked coverage runs again.
- NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1
  schedule the restored a100/l40s post-merge coverage (CI-owner
  review).
- Retire the -TensorRT- plumbing in L0_Test.groovy (commented stage
  rows, backend=tensorrt mako branch, TEST_BACKEND changeMap entry,
  excludedBackends) and the -TensorRT- pattern in
  jenkins/scripts/cbts/blocks.py.
- waives.txt: drop 42 waives for deleted/unscheduled tests (the
  validator requires waived tests to be in an active list).

Legacy engine-flow example tests:
- Delete the defs/examples wrappers whose every test drove the removed
  convert->trtllm-build->run flow: test_{bert,chatglm,commandr,
  draft_target_model,eagle,enc_dec,gptj,granite,internlm,llama,mamba,
  medusa,mistral,mixtral,multimodal,nemotron,nemotron_nas,ngram,
  openai,qwen,qwen2audio,qwenvl,redrafter,whisper,bindings,flux}.py,
  the whisper validators, and run_llm_fp8_quant_llama_70b.py.
- test_gpt.py rewritten keeping only the live
  test_gpt_oss_20b_lora_torch; test_phi.py drops its quantization
  engine test; test_e2e.py drops test_gpt3_175b_1layers_build_only.
- Remove the dead helper cascade in defs/common.py (convert_weights,
  quantize_data, prune_checkpoint, refit_model, find_tensorrt),
  defs/perf/build.py and test_perf.py's trtllm-build branches, and
  19 orphaned example_root fixtures across defs/conftest.py and
  triton_server/conftest.py (verified: no dynamic getfixturevalue
  resolution exists for any of them).

Dormant example scripts (imported deleted ModelRunner*/builder
surfaces or drove engine flows; unreachable from CI):
- examples/{run,summarize,utils,mmlu,eval_long_context}.py,
  examples/openai_triton/**, examples/python_plugin/**,
  examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness,
  the engine-flow multimodal/qwenvl/qwen2audio scripts, and
  examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
  flow where a live section remains).

examples/ reference sweep (checked against tests, published docs,
jenkins, and code):
- contrib: delete arctic, blip2, chatglm-6b/2-6b/3-6b-32k, internlm,
  jais, skywork, smaug (README/requirements-only legacy-flow dirs;
  hyperclovax stays - live PyTorch README linked from release notes).
- core: delete granite and mixtral; multimodal keeps the live
  Qwen-Image-Bench stub + eval script but drops utils.py, __init__.py
  and the per-model requirements-*.txt; nemotron drops the Nemo-flow
  README_nemotron-3.md + requirements.txt (PyTorch READMEs stay).
- top level: delete generate_checkpoint_config.py,
  generate_xgrammar_tokenizer_info.py, hf_lora_convert.py,
  sample_weight_stripping/, cpp_library/, dora/, language_adapter/.
- Kept deliberately: infinitebench (dependency of the retained
  CLI-flow suite) and longbench/opentelemetry/sparse_attention
  (unreferenced but document current features).

Accuracy suite:
- accuracy/test_cli_flow.py and CliFlowAccuracyTestHarness are KEPT
  (currently unscheduled; retained for possible future reuse).
- Port TestQwen2_7BInstruct::test_tp2 to the PyTorch accuracy suite
  (skipped: TP2 hangs in the AUTO custom allreduce on PCIe-only
  nodes; the LMHead AllReduce ignores allreduce_strategy, so the
  strategy knob cannot work around it).

Misc:
- automodel.py isMedusa/isEagle branch and
  _utils.py::supports_inflight_batching (mapped to deleted TRT model
  classes); test-db README example refreshed to a real test id; docs
  fixes in ci-overview.md and the AutoDeploy testing strategy.

Rider (squashed in): [https://nvbugs/6482297][fix] Parse boolean
stage-config fields in test_to_stage_mapping (from PR NVIDIA#16671, same
author). The stage regex only accepted numeric trailing fields, so the
47 runWithSbatch stage entries (all DGX_B200-PyTorch-*) were silently
dropped and commented-out stage rows were matched;
test_backend_filtering_consistency now tolerates tests legitimately
listed under multiple backends. Carried here because this PR retires
stages and reshuffles test-db buckets - the exact surface those
consistency tests validate.

legacy-files.txt/ruff baseline entries for the deleted files are left
to a mechanical 'legacy_utils.py prune-files' pass after this and the
python-cleanup PR merge, to avoid cross-PR conflicts.

Verified: defs collection passes (4206 tests), pre-commit hooks incl.
the test-list AST validator pass, no broken example links.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
Wanli-Jiang added a commit to Wanli-Jiang/TensorRT-LLM that referenced this pull request Jul 22, 2026
… and CI plumbing

Trailing test/example/CI cleanup after the legacy TensorRT backend
removal (TRTLLM-14026, PR NVIDIA#16369).

CI schedules / jenkins:
- Move backend-neutral tests off the retired -TensorRT- stages and
  delete all dead backend=tensorrt test-db buckets; flip remaining
  neutral buckets to pytorch so parked coverage runs again.
- NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1
  schedule the restored a100/l40s post-merge coverage (CI-owner
  review).
- Retire the -TensorRT- plumbing in L0_Test.groovy (commented stage
  rows, backend=tensorrt mako branch, TEST_BACKEND changeMap entry,
  excludedBackends) and the -TensorRT- pattern in
  jenkins/scripts/cbts/blocks.py.
- waives.txt: drop 42 waives for deleted/unscheduled tests (the
  validator requires waived tests to be in an active list).

Legacy engine-flow example tests:
- Delete the defs/examples wrappers whose every test drove the removed
  convert->trtllm-build->run flow: test_{bert,chatglm,commandr,
  draft_target_model,eagle,enc_dec,gptj,granite,internlm,llama,mamba,
  medusa,mistral,mixtral,multimodal,nemotron,nemotron_nas,ngram,
  openai,qwen,qwen2audio,qwenvl,redrafter,whisper,bindings,flux}.py,
  the whisper validators, and run_llm_fp8_quant_llama_70b.py.
- test_gpt.py rewritten keeping only the live
  test_gpt_oss_20b_lora_torch; test_phi.py drops its quantization
  engine test; test_e2e.py drops test_gpt3_175b_1layers_build_only.
- Remove the dead helper cascade in defs/common.py (convert_weights,
  quantize_data, prune_checkpoint, refit_model, find_tensorrt),
  defs/perf/build.py and test_perf.py's trtllm-build branches, and
  19 orphaned example_root fixtures across defs/conftest.py and
  triton_server/conftest.py (verified: no dynamic getfixturevalue
  resolution exists for any of them).

Dormant example scripts (imported deleted ModelRunner*/builder
surfaces or drove engine flows; unreachable from CI):
- examples/{run,summarize,utils,mmlu,eval_long_context}.py,
  examples/openai_triton/**, examples/python_plugin/**,
  examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness,
  the engine-flow multimodal/qwenvl/qwen2audio scripts, and
  examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
  flow where a live section remains).

examples/ reference sweep (checked against tests, published docs,
jenkins, and code):
- contrib: delete arctic, blip2, chatglm-6b/2-6b/3-6b-32k, internlm,
  jais, skywork, smaug (README/requirements-only legacy-flow dirs;
  hyperclovax stays - live PyTorch README linked from release notes).
- core: delete granite and mixtral; multimodal keeps the live
  Qwen-Image-Bench stub + eval script but drops utils.py, __init__.py
  and the per-model requirements-*.txt; nemotron drops the Nemo-flow
  README_nemotron-3.md + requirements.txt (PyTorch READMEs stay).
- top level: delete generate_checkpoint_config.py,
  generate_xgrammar_tokenizer_info.py, hf_lora_convert.py,
  sample_weight_stripping/, cpp_library/, dora/, language_adapter/.
- Kept deliberately: infinitebench (dependency of the retained
  CLI-flow suite) and longbench/opentelemetry/sparse_attention
  (unreferenced but document current features).

Accuracy suite:
- accuracy/test_cli_flow.py and CliFlowAccuracyTestHarness are KEPT
  (currently unscheduled; retained for possible future reuse).
- Port TestQwen2_7BInstruct::test_tp2 to the PyTorch accuracy suite
  (skipped: TP2 hangs in the AUTO custom allreduce on PCIe-only
  nodes; the LMHead AllReduce ignores allreduce_strategy, so the
  strategy knob cannot work around it).

Misc:
- automodel.py isMedusa/isEagle branch and
  _utils.py::supports_inflight_batching (mapped to deleted TRT model
  classes); test-db README example refreshed to a real test id; docs
  fixes in ci-overview.md and the AutoDeploy testing strategy.

Rider (squashed in): [https://nvbugs/6482297][fix] Parse boolean
stage-config fields in test_to_stage_mapping (from PR NVIDIA#16671, same
author). The stage regex only accepted numeric trailing fields, so the
47 runWithSbatch stage entries (all DGX_B200-PyTorch-*) were silently
dropped and commented-out stage rows were matched;
test_backend_filtering_consistency now tolerates tests legitimately
listed under multiple backends. Carried here because this PR retires
stages and reshuffles test-db buckets - the exact surface those
consistency tests validate.

legacy-files.txt/ruff baseline entries for the deleted files are left
to a mechanical 'legacy_utils.py prune-files' pass after this and the
python-cleanup PR merge, to avoid cross-PR conflicts.

Verified: defs collection passes (4206 tests), pre-commit hooks incl.
the test-list AST validator pass, no broken example links.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

The fix is merged into #16610

Wanli-Jiang added a commit to Wanli-Jiang/TensorRT-LLM that referenced this pull request Jul 22, 2026
… and CI plumbing

Trailing test/example/CI cleanup after the legacy TensorRT backend
removal (TRTLLM-14026, PR NVIDIA#16369).

CI schedules / jenkins:
- Move backend-neutral tests off the retired -TensorRT- stages and
  delete all dead backend=tensorrt test-db buckets; flip remaining
  neutral buckets to pytorch so parked coverage runs again.
- NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1
  schedule the restored a100/l40s post-merge coverage (CI-owner
  review).
- Retire the -TensorRT- plumbing in L0_Test.groovy (commented stage
  rows, backend=tensorrt mako branch, TEST_BACKEND changeMap entry,
  excludedBackends) and the -TensorRT- pattern in
  jenkins/scripts/cbts/blocks.py.
- waives.txt: drop 42 waives for deleted/unscheduled tests (the
  validator requires waived tests to be in an active list).

Legacy engine-flow example tests:
- Delete the defs/examples wrappers whose every test drove the removed
  convert->trtllm-build->run flow: test_{bert,chatglm,commandr,
  draft_target_model,eagle,enc_dec,gptj,granite,internlm,llama,mamba,
  medusa,mistral,mixtral,multimodal,nemotron,nemotron_nas,ngram,
  openai,qwen,qwen2audio,qwenvl,redrafter,whisper,bindings,flux}.py,
  the whisper validators, and run_llm_fp8_quant_llama_70b.py.
- test_gpt.py rewritten keeping only the live
  test_gpt_oss_20b_lora_torch; test_phi.py drops its quantization
  engine test; test_e2e.py drops test_gpt3_175b_1layers_build_only.
- Remove the dead helper cascade in defs/common.py (convert_weights,
  quantize_data, prune_checkpoint, refit_model, find_tensorrt),
  defs/perf/build.py and test_perf.py's trtllm-build branches, and
  19 orphaned example_root fixtures across defs/conftest.py and
  triton_server/conftest.py (verified: no dynamic getfixturevalue
  resolution exists for any of them).

Dormant example scripts (imported deleted ModelRunner*/builder
surfaces or drove engine flows; unreachable from CI):
- examples/{run,summarize,utils,mmlu,eval_long_context}.py,
  examples/openai_triton/**, examples/python_plugin/**,
  examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness,
  the engine-flow multimodal/qwenvl/qwen2audio scripts, and
  examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
  flow where a live section remains).

examples/ reference sweep (checked against tests, published docs,
jenkins, and code):
- contrib: delete arctic, blip2, chatglm-6b/2-6b/3-6b-32k, internlm,
  jais, skywork, smaug (README/requirements-only legacy-flow dirs;
  hyperclovax stays - live PyTorch README linked from release notes).
- core: delete granite and mixtral; multimodal keeps the live
  Qwen-Image-Bench stub + eval script but drops utils.py, __init__.py
  and the per-model requirements-*.txt; nemotron drops the Nemo-flow
  README_nemotron-3.md + requirements.txt (PyTorch READMEs stay).
- top level: delete generate_checkpoint_config.py,
  generate_xgrammar_tokenizer_info.py, hf_lora_convert.py,
  sample_weight_stripping/, cpp_library/, dora/, language_adapter/.
- Kept deliberately: infinitebench (dependency of the retained
  CLI-flow suite) and longbench/opentelemetry/sparse_attention
  (unreferenced but document current features).

Accuracy suite:
- accuracy/test_cli_flow.py and CliFlowAccuracyTestHarness are KEPT
  (currently unscheduled; retained for possible future reuse).
- Port TestQwen2_7BInstruct::test_tp2 to the PyTorch accuracy suite
  (skipped: TP2 hangs in the AUTO custom allreduce on PCIe-only
  nodes; the LMHead AllReduce ignores allreduce_strategy, so the
  strategy knob cannot work around it).

Misc:
- automodel.py isMedusa/isEagle branch and
  _utils.py::supports_inflight_batching (mapped to deleted TRT model
  classes); test-db README example refreshed to a real test id; docs
  fixes in ci-overview.md and the AutoDeploy testing strategy.

Rider (squashed in): [https://nvbugs/6482297][fix] Parse boolean
stage-config fields in test_to_stage_mapping (from PR NVIDIA#16671, same
author). The stage regex only accepted numeric trailing fields, so the
47 runWithSbatch stage entries (all DGX_B200-PyTorch-*) were silently
dropped and commented-out stage rows were matched;
test_backend_filtering_consistency now tolerates tests legitimately
listed under multiple backends. Carried here because this PR retires
stages and reshuffles test-db buckets - the exact surface those
consistency tests validate.

legacy-files.txt/ruff baseline entries for the deleted files are left
to a mechanical 'legacy_utils.py prune-files' pass after this and the
python-cleanup PR merge, to avoid cross-PR conflicts.

Verified: defs collection passes (4206 tests), pre-commit hooks incl.
the test-list AST validator pass, no broken example links.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
Wanli-Jiang added a commit to Wanli-Jiang/TensorRT-LLM that referenced this pull request Jul 22, 2026
… and CI plumbing

Trailing test/example/CI cleanup after the legacy TensorRT backend
removal (TRTLLM-14026, PR NVIDIA#16369).

CI schedules / jenkins:
- Move backend-neutral tests off the retired -TensorRT- stages and
  delete all dead backend=tensorrt test-db buckets; flip remaining
  neutral buckets to pytorch so parked coverage runs again.
- NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1
  schedule the restored a100/l40s post-merge coverage (CI-owner
  review).
- Retire the -TensorRT- plumbing in L0_Test.groovy (commented stage
  rows, backend=tensorrt mako branch, TEST_BACKEND changeMap entry,
  excludedBackends) and the -TensorRT- pattern in
  jenkins/scripts/cbts/blocks.py.
- waives.txt: drop 42 waives for deleted/unscheduled tests (the
  validator requires waived tests to be in an active list).

Legacy engine-flow example tests:
- Delete the defs/examples wrappers whose every test drove the removed
  convert->trtllm-build->run flow: test_{bert,chatglm,commandr,
  draft_target_model,eagle,enc_dec,gptj,granite,internlm,llama,mamba,
  medusa,mistral,mixtral,multimodal,nemotron,nemotron_nas,ngram,
  openai,qwen,qwen2audio,qwenvl,redrafter,whisper,bindings,flux}.py,
  the whisper validators, and run_llm_fp8_quant_llama_70b.py.
- test_gpt.py rewritten keeping only the live
  test_gpt_oss_20b_lora_torch; test_phi.py drops its quantization
  engine test; test_e2e.py drops test_gpt3_175b_1layers_build_only.
- Remove the dead helper cascade in defs/common.py (convert_weights,
  quantize_data, prune_checkpoint, refit_model, find_tensorrt),
  defs/perf/build.py and test_perf.py's trtllm-build branches, and
  19 orphaned example_root fixtures across defs/conftest.py and
  triton_server/conftest.py (verified: no dynamic getfixturevalue
  resolution exists for any of them).

Dormant example scripts (imported deleted ModelRunner*/builder
surfaces or drove engine flows; unreachable from CI):
- examples/{run,summarize,utils,mmlu,eval_long_context}.py,
  examples/openai_triton/**, examples/python_plugin/**,
  examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness,
  the engine-flow multimodal/qwenvl/qwen2audio scripts, and
  examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
  flow where a live section remains).

examples/ reference sweep (checked against tests, published docs,
jenkins, and code):
- contrib: delete arctic, blip2, chatglm-6b/2-6b/3-6b-32k, internlm,
  jais, skywork, smaug (README/requirements-only legacy-flow dirs;
  hyperclovax stays - live PyTorch README linked from release notes).
- core: delete granite and mixtral; multimodal keeps the live
  Qwen-Image-Bench stub + eval script but drops utils.py, __init__.py
  and the per-model requirements-*.txt; nemotron drops the Nemo-flow
  README_nemotron-3.md + requirements.txt (PyTorch READMEs stay).
- top level: delete generate_checkpoint_config.py,
  generate_xgrammar_tokenizer_info.py, hf_lora_convert.py,
  sample_weight_stripping/, cpp_library/, dora/, language_adapter/.
- Kept deliberately: infinitebench (dependency of the retained
  CLI-flow suite) and longbench/opentelemetry/sparse_attention
  (unreferenced but document current features).

Accuracy suite:
- accuracy/test_cli_flow.py and CliFlowAccuracyTestHarness are KEPT
  (currently unscheduled; retained for possible future reuse).
- Port TestQwen2_7BInstruct::test_tp2 to the PyTorch accuracy suite
  (skipped: TP2 hangs in the AUTO custom allreduce on PCIe-only
  nodes; the LMHead AllReduce ignores allreduce_strategy, so the
  strategy knob cannot work around it).

Misc:
- automodel.py isMedusa/isEagle branch and
  _utils.py::supports_inflight_batching (mapped to deleted TRT model
  classes); test-db README example refreshed to a real test id; docs
  fixes in ci-overview.md and the AutoDeploy testing strategy.

Rider (squashed in): [https://nvbugs/6482297][fix] Parse boolean
stage-config fields in test_to_stage_mapping (from PR NVIDIA#16671, same
author). The stage regex only accepted numeric trailing fields, so the
47 runWithSbatch stage entries (all DGX_B200-PyTorch-*) were silently
dropped and commented-out stage rows were matched;
test_backend_filtering_consistency now tolerates tests legitimately
listed under multiple backends. Carried here because this PR retires
stages and reshuffles test-db buckets - the exact surface those
consistency tests validate.

legacy-files.txt/ruff baseline entries for the deleted files are left
to a mechanical 'legacy_utils.py prune-files' pass after this and the
python-cleanup PR merge, to avoid cross-PR conflicts.

Verified: defs collection passes (4206 tests), pre-commit hooks incl.
the test-list AST validator pass, no broken example links.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
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.

2 participants