A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 05:30 UTC
[CI/Build] add nightly prime-rl integration tests (#25207)
Signed-off-by: Jackmin801 <ongjackm@gmail.com> Signed-off-by: Michael Goin <mgoin64@gmail.com> Co-authored-by: Michael Goin <mgoin64@gmail.com>
Jackmin801 committed
Sep 24, 2025 at 01:44 UTC
77a7fce1bb7c081811548c64ae24049efd118c9a
2 files changed
+71
.buildkite/scripts/run-prime-rl-test.sh
new
+59
@@ -0,0 +1,59 @@
1
+#!/bin/bash
2
+# SPDX-License-Identifier: Apache-2.0
3
+# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
4
+
5
+# Setup script for Prime-RL integration tests
6
+# This script prepares the environment for running Prime-RL tests with nightly vLLM
7
+
8
+set -euo pipefail
9
+
10
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
11
+REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
12
+PRIME_RL_REPO="https://github.com/PrimeIntellect-ai/prime-rl.git"
13
+PRIME_RL_DIR="${REPO_ROOT}/prime-rl"
14
+
15
+echo "Setting up Prime-RL integration test environment..."
16
+
17
+# Clean up any existing Prime-RL directory
18
+if [ -d "${PRIME_RL_DIR}" ]; then
19
+ echo "Removing existing Prime-RL directory..."
20
+ rm -rf "${PRIME_RL_DIR}"
21
+fi
22
+
23
+# Install UV if not available
24
+if ! command -v uv &> /dev/null; then
25
+ echo "Installing UV package manager..."
26
+ curl -LsSf https://astral.sh/uv/install.sh | sh
27
+ source $HOME/.local/bin/env
28
+fi
29
+
30
+# Clone Prime-RL repository at specific branch for reproducible tests
31
+PRIME_RL_BRANCH="integ-vllm-main"
32
+echo "Cloning Prime-RL repository at branch: ${PRIME_RL_BRANCH}..."
33
+git clone --branch "${PRIME_RL_BRANCH}" --single-branch "${PRIME_RL_REPO}" "${PRIME_RL_DIR}"
34
+cd "${PRIME_RL_DIR}"
35
+
36
+echo "Setting up UV project environment..."
37
+export UV_PROJECT_ENVIRONMENT=/usr/local
38
+ln -s /usr/bin/python3 /usr/local/bin/python
39
+
40
+# Remove vllm pin from pyproject.toml
41
+echo "Removing vllm pin from pyproject.toml..."
42
+sed -i '/vllm==/d' pyproject.toml
43
+
44
+# Sync Prime-RL dependencies
45
+echo "Installing Prime-RL dependencies..."
46
+uv sync --inexact && uv sync --inexact --all-extras
47
+
48
+# Verify installation
49
+echo "Verifying installations..."
50
+uv run python -c "import vllm; print(f'vLLM version: {vllm.__version__}')"
51
+uv run python -c "import prime_rl; print('Prime-RL imported successfully')"
52
+
53
+echo "Prime-RL integration test environment setup complete!"
54
+
55
+echo "Running Prime-RL integration tests..."
56
+export WANDB_MODE=offline # this makes this test not require a WANDB_API_KEY
57
+uv run pytest -vs tests/integration/test_rl.py -m gpu
58
+
59
+echo "Prime-RL integration tests completed!"
.buildkite/test-pipeline.yaml
+12
@@ -1045,3 +1045,15 @@ steps:
1045
commands:
1046
- pytest -v -s tests/distributed/test_context_parallel.py
1047
- pytest -v -s tests/distributed/test_nccl_symm_mem_allreduce.py
1048
+
1049
+##### RL Integration Tests #####
1050
+- label: Prime-RL Integration Test # 15min
1051
+ timeout_in_minutes: 30
1052
+ optional: true
1053
+ num_gpus: 2
1054
+ working_dir: "/vllm-workspace"
1055
+ source_file_dependencies:
1056
+ - vllm/
1057
+ - .buildkite/scripts/run-prime-rl-test.sh
1058
+ commands:
1059
+ - bash .buildkite/scripts/run-prime-rl-test.sh