Skip to content

Commit 36db924

Browse files
committed
Add nightly builds tracker
1 parent cc8256a commit 36db924

File tree

6 files changed

+536
-9
lines changed

6 files changed

+536
-9
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"params": {
3+
"repo": "String",
4+
"pipelineName": "String",
5+
"buildNumber": "UInt32"
6+
},
7+
"tests": [
8+
{
9+
"repo": "https://github.com/vllm-project/vllm.git",
10+
"pipelineName": "CI",
11+
"buildNumber": 12345
12+
}
13+
]
14+
}
15+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
-- vLLM failed jobs for a specific build
2+
-- Returns all jobs that hard-failed (soft failures excluded) for a given build number
3+
-- Shows job details: name, state, duration, timestamps, etc.
4+
5+
SELECT
6+
tupleElement(job, 'name') AS job_name,
7+
tupleElement(job, 'state') AS job_state,
8+
tupleElement(job, 'soft_failed') AS soft_failed,
9+
tupleElement(job, 'started_at') AS job_started_at,
10+
tupleElement(job, 'finished_at') AS job_finished_at,
11+
tupleElement(job, 'web_url') AS job_url,
12+
tupleElement(job, 'exit_status') AS exit_status,
13+
-- Calculate duration in hours
14+
dateDiff(
15+
'second',
16+
tupleElement(job, 'started_at'),
17+
tupleElement(job, 'finished_at')
18+
) / 3600.0 AS duration_hours,
19+
toUInt32(tupleElement(build, 'number')) AS build_number,
20+
tupleElement(build, 'web_url') AS build_url
21+
FROM vllm.vllm_buildkite_jobs
22+
WHERE
23+
tupleElement(pipeline, 'repository') = {repo: String}
24+
AND tupleElement(pipeline, 'name') = {pipelineName: String}
25+
AND tupleElement(build, 'branch') = 'main'
26+
AND toUInt32(tupleElement(build, 'number')) = {buildNumber: UInt32}
27+
AND lowerUTF8(tupleElement(job, 'state')) = 'failed'
28+
AND tupleElement(job, 'soft_failed') = FALSE
29+
ORDER BY job_name ASC
30+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"params": {
3+
"repo": "String",
4+
"pipelineName": "String",
5+
"startTime": "DateTime64(3)",
6+
"stopTime": "DateTime64(3)"
7+
},
8+
"tests": [
9+
{
10+
"repo": "https://github.com/vllm-project/vllm.git",
11+
"pipelineName": "CI",
12+
"startTime": "2025-11-17T00:00:00.000",
13+
"stopTime": "2025-11-24T00:00:00.000"
14+
}
15+
]
16+
}
17+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
-- vLLM continuous builds list (daily and nightly scheduled runs)
2+
-- Returns recent builds that are part of scheduled CI runs
3+
-- Filters by specific BUILDKITE_MESSAGE patterns
4+
-- Only tracks main branch
5+
6+
SELECT DISTINCT
7+
toUInt32(tupleElement(build, 'number')) AS build_number,
8+
tupleElement(build, 'id') AS build_id,
9+
tupleElement(build, 'state') AS build_state,
10+
tupleElement(build, 'web_url') AS build_url,
11+
tupleElement(build, 'started_at') AS build_started_at,
12+
tupleElement(build, 'finished_at') AS build_finished_at,
13+
tupleElement(build, 'message') AS build_message,
14+
tupleElement(build, 'commit') AS commit,
15+
-- Determine build type
16+
if(
17+
positionCaseInsensitive(tupleElement(build, 'message'), 'Full CI run - daily') > 0,
18+
'Daily',
19+
if(
20+
positionCaseInsensitive(tupleElement(build, 'message'), 'Nightly run - All tests') > 0,
21+
'Nightly',
22+
'Other'
23+
)
24+
) AS build_type,
25+
-- Count jobs for this build
26+
(
27+
SELECT count(*)
28+
FROM vllm.vllm_buildkite_jobs AS j
29+
WHERE
30+
tupleElement(j.build, 'number') = tupleElement(build, 'number')
31+
AND tupleElement(j.pipeline, 'repository') = {repo: String}
32+
) AS total_jobs,
33+
-- Count failed jobs for this build
34+
(
35+
SELECT count(*)
36+
FROM vllm.vllm_buildkite_jobs AS j
37+
WHERE
38+
tupleElement(j.build, 'number') = tupleElement(build, 'number')
39+
AND tupleElement(j.pipeline, 'repository') = {repo: String}
40+
AND lowerUTF8(tupleElement(j.job, 'state')) = 'failed'
41+
AND tupleElement(j.job, 'soft_failed') = FALSE
42+
) AS failed_jobs_count
43+
FROM vllm.vllm_buildkite_builds
44+
WHERE
45+
tupleElement(pipeline, 'repository') = {repo: String}
46+
AND tupleElement(pipeline, 'name') = {pipelineName: String}
47+
AND tupleElement(build, 'branch') = 'main'
48+
AND tupleElement(build, 'finished_at') IS NOT NULL
49+
AND tupleElement(build, 'finished_at') >= {startTime: DateTime64(3)}
50+
AND tupleElement(build, 'finished_at') < {stopTime: DateTime64(3)}
51+
AND (
52+
positionCaseInsensitive(tupleElement(build, 'message'), 'Full CI run - daily') > 0
53+
OR positionCaseInsensitive(tupleElement(build, 'message'), 'Nightly run - All tests') > 0
54+
)
55+
ORDER BY build_finished_at DESC
56+

0 commit comments

Comments
 (0)