A small tool to dynamically generate Buildkite pipeline for vLLM projects, running on vLLM CI infrastructure.
You can install it using pip:
pip install git+https://github.com/vllm-project/ci-infra.git#subdirectory=buildkite/pipeline_generatorThe main entry point is pipeline-generator. It requires 2 args:
- Path to your CI configuration file an output path.
- Path to the output Buildkite-formatted yaml file.
pipeline-generator --pipeline_config_path <config.yaml> --output_file_path <output.yaml>pipeline-generator --pipeline_config_path pipeline_config.yaml --output_file_path pipeline.yamlThe configuration file is a YAML file that defines how the pipeline should be generated.
# Name of the pipeline (e.g., vllm_ci)
name: vllm_ci
# List of directories containing step definitions (YAML files)
job_dirs:
- ".buildkite/test_areas"
- ".buildkite/image_build"
# List of regex patterns to trigger all tests. If any changed file matches these,
# all steps will be marked to run (overriding individual file dependencies).
run_all_patterns:
- "docker/Dockerfile"
- "CMakeLists.txt"
- "requirements/common.txt"
- "setup.py"
- "csrc/"
# List of regex patterns to exclude from run_all_patterns checks.
# If a file matches run_all_patterns but ALSO matches one of these,
# it will NOT trigger a "run all".
run_all_exclude_patterns:
- "docker/Dockerfile."
- "csrc/cpu/"
# Container registry to store images
registries: public.ecr.aws/q9t5s3a7
# Repository names for different stages
repositories:
main: "vllm-ci-postmerge-repo" # Used for main branch builds
premerge: "vllm-ci-test-repo" # Used for PR/pre-merge buildsThe generator relies on several environment variables, typically provided by Buildkite or set by user:
BUILDKITE_BRANCH: Current branch name.BUILDKITE_COMMIT: Current commit hash.BUILDKITE_PULL_REQUEST: Pull request number (or "false").BUILDKITE_PULL_REQUEST_BASE_BRANCH: Base branch for PRs.NIGHTLY: Set to "1" to auto-run the curated torch-nightly steps (those taggedmirror.torch_nightly).TORCH_NIGHTLY: Set to "1" to build and run the entire test suite against torch nightly (full run, not just the tagged subset). Also forces a full run on the pinned torch. Intended to be set on the scheduled build.RUN_ALL: Set to "1" to force run all steps.DOCS_ONLY_DISABLE: Set to "0" to enable skipping CI for doc-only changes.VLLM_USE_PRECOMPILED: Set to "1" to force use of precompiled wheels.