[TRTLLM-12893][infra] Parallelize post stages: Rerun Report, Test Coverage, and AI Failure Analysis - #14528
Conversation
|
/bot run |
📝 WalkthroughWalkthroughThe pipeline refactors test result collection by updating ChangesTest Result Collection and Processing Refactoring
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
jenkins/L0_MergeRequest.groovy (1)
1257-1259: 💤 Low valueConsider logging the exception for debuggability.
The empty catch block silently swallows all exceptions. While the best-effort approach is appropriate, adding minimal logging would help diagnose issues when they occur.
Suggested improvement
} catch (Exception e) { - // Analysis is best-effort; do not fail the pipeline + // Analysis is best-effort; do not fail the pipeline + echo "AI Failure Analysis skipped due to error: ${e.toString()}" }🤖 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 `@jenkins/L0_MergeRequest.groovy` around lines 1257 - 1259, The empty catch (Exception e) block silently swallows failures from the analysis try/catch; update that catch to log the exception (message and stacktrace) for debuggability. Inside the catch referencing the existing catch variable e, call the pipeline logger if available (e.g., logger.error(...) or currentBuild/steps.echo) or fallback to println, and include e.toString()/e.getMessage() plus the stacktrace (e.printStackTrace() or logger with throwable) so the analysis failure is visible without failing the pipeline.
🤖 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 `@jenkins/L0_MergeRequest.groovy`:
- Around line 1257-1259: The empty catch (Exception e) block silently swallows
failures from the analysis try/catch; update that catch to log the exception
(message and stacktrace) for debuggability. Inside the catch referencing the
existing catch variable e, call the pipeline logger if available (e.g.,
logger.error(...) or currentBuild/steps.echo) or fallback to println, and
include e.toString()/e.getMessage() plus the stacktrace (e.printStackTrace() or
logger with throwable) so the analysis failure is visible without failing the
pipeline.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: e856f02e-cf40-4698-aea7-a11a1aa0c116
📒 Files selected for processing (1)
jenkins/L0_MergeRequest.groovy
|
PR_Github #50198 [ run ] triggered by Bot. Commit: |
31f3ab0 to
9559d3f
Compare
|
/bot run |
|
PR_Github #50201 [ run ] triggered by Bot. Commit: |
|
PR_Github #50198 [ run ] completed with state |
|
PR_Github #50201 [ run ] completed with state |
9559d3f to
5478a96
Compare
…erage, and AI Failure Analysis
Restructure the post block in L0_MergeRequest to run Rerun Report,
Test Coverage, and AI Failure Analysis in parallel after Collect Test
Result and Upload Build Info complete serially. This reduces post stage
wall time by ~3.5min on failed builds with coverage data.
- Refactor collectTestResults to run parallel tasks inside the pod
- Move Upload Build Info into collectTestResults (runs 2nd, serial)
- Move AI Failure Analysis from failure block into always block,
conditionally triggered via currentBuild.currentResult
- Remove container("alpine") wrapper (already in alpine pod)
- Pre-install shared dependencies (py3-pip) in serial phase to
avoid apk concurrent install conflicts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
Add 10-min timeout to each parallel branch (Rerun Report, Test Coverage, AI Failure Analysis) with outer try-catch to ensure timeout or failure in any branch does not affect the pipeline result. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com>
5478a96 to
fb4427e
Compare
|
/bot run |
|
PR_Github #51805 [ run ] triggered by Bot. Commit: |
|
PR_Github #51805 [ run ] completed with state
|
|
/bot run |
|
PR_Github #51944 [ run ] triggered by Bot. Commit: |
|
PR_Github #51944 [ run ] completed with state
|
|
/bot skip --comment "Failed not related this PR change." |
|
PR_Github #52331 [ skip ] triggered by Bot. Commit: |
|
PR_Github #52331 [ skip ] completed with state |
…erage, and AI Failure Analysis (NVIDIA#14528) Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: NVFB <186336021+NVFB@users.noreply.github.com>
…erage, and AI Failure Analysis (NVIDIA#14528) Signed-off-by: ZhanruiSunCh <184402041+ZhanruiSunCh@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary by CodeRabbit
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-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin 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.