@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 77a7fce1bb
Fork 0

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