Skip to content

Commit 524f604

Browse files
chenfeiz0326Chenfei ZhangChenfei Zhang
authored
[TRTLLM-11506][feat] Integrate Perf Triage Bot into CI Pipeline (#12429)
Signed-off-by: Chenfei Zhang <chenfeiz@oci-hsg-cs-001-vscode-01.cm.cluster> Signed-off-by: Chenfei Zhang <chenfeiz@oci-hsg-cs-001-login-01.cm.cluster> Co-authored-by: Chenfei Zhang <chenfeiz@oci-hsg-cs-001-vscode-01.cm.cluster> Co-authored-by: Chenfei Zhang <chenfeiz@oci-hsg-cs-001-login-01.cm.cluster>
1 parent f3e458e commit 524f604

2 files changed

Lines changed: 31 additions & 312 deletions

File tree

jenkins/runPerfSanityTriage.groovy

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
@Library(['bloom-jenkins-shared-lib@main', 'trtllm-jenkins-shared-lib@main']) _
2-
3-
import java.lang.InterruptedException
1+
@Library(['trtllm-jenkins-shared-lib@main']) _
42

53
DOCKER_IMAGE = "urm.nvidia.com/sw-tensorrt-docker/tensorrt-llm:pytorch-25.10-py3-x86_64-ubuntu24.04-trt10.13.3.9-skip-tritondevel-202510291120-8621"
64

@@ -79,33 +77,28 @@ pipeline {
7977
OPEN_SEARCH_DB_CREDENTIALS=credentials("open_search_db_credentials")
8078
}
8179
parameters {
80+
choice(name: "OPERATION", choices: ["Update Perf Data"], description: "Operation to perform.")
8281
string(name: "BRANCH", defaultValue: "main", description: "Branch to checkout.")
83-
string(name: "OPEN_SEARCH_PROJECT_NAME", defaultValue: "swdl-trtllm-infra-ci-prod-perf_sanity_info", description: "OpenSearch project name.")
84-
string(name: "OPERATION", defaultValue: "SLACK BOT SENDS MESSAGE", description: "Operation to perform.")
85-
string(name: "QUERY_JOB_NUMBER", defaultValue: "1", description: "Number of latest jobs to query. (Only used when OPERATION is SLACK BOT SENDS MESSAGE)")
86-
string(name: "SLACK_CHANNEL_ID", defaultValue: "C0A7D0LCA1F", description: "Slack channel IDs to send messages to. (Only used when OPERATION is SLACK BOT SENDS MESSAGE)")
87-
string(name: "SLACK_BOT_TOKEN", defaultValue: "", description: "Slack bot token for authentication. (Only used when OPERATION is SLACK BOT SENDS MESSAGE)")
82+
choice(name: "OPEN_SEARCH_PROJECT_NAME", choices: ["swdl-trtllm-infra-ci-prod-perf_sanity_info"], description: "OpenSearch project name.")
83+
text(name: "COMMANDS", defaultValue: "", description: "UPDATE commands, one per line. Example: UPDATE SET field=value WHERE condition=value.")
8884
}
8985
stages {
90-
stage("Run Perf Sanity Script") {
86+
stage("Update Perf Data") {
87+
when { expression { params.OPERATION == "Update Perf Data" } }
9188
steps {
9289
container("trt-llm") {
9390
script {
9491
sh "pwd && ls -alh"
95-
sh "env | sort"
9692
trtllm_utils.checkoutSource(LLM_REPO, params.BRANCH, LLM_ROOT, false, false)
97-
sh "pip install slack_sdk"
93+
def commandsBase64 = params.COMMANDS.bytes.encodeBase64().toString()
9894
sh """
99-
cd ${LLM_ROOT}/jenkins/scripts/perf && ls -alh && python3 perf_sanity_triage.py \
95+
cd ${LLM_ROOT}/jenkins/scripts/perf && python3 perf_sanity_triage.py \
10096
--project_name "${params.OPEN_SEARCH_PROJECT_NAME}" \
101-
--operation "${params.OPERATION}" \
102-
--channel_id "${params.SLACK_CHANNEL_ID}" \
103-
--bot_token "${params.SLACK_BOT_TOKEN}" \
104-
--query_job_number "${params.QUERY_JOB_NUMBER}"
97+
--commands "\$(echo '${commandsBase64}' | base64 -d)"
10598
"""
10699
}
107100
}
108101
}
109-
} // stage Run Perf Sanity Script
102+
} // stage Update Perf Data
110103
} // stages
111104
} // pipeline

0 commit comments

Comments
 (0)