| 1 | group: Plugins |
| 2 | depends_on: |
| 3 | - image-build |
| 4 | steps: |
| 5 | - label: ":nvidia: (L4) Plugin Integration" |
| 6 | key: plugin-tests-2-gpus |
| 7 | timeout_in_minutes: 35 |
| 8 | working_dir: "/vllm-workspace/tests" |
| 9 | device: l4 |
| 10 | num_devices: 2 |
| 11 | source_file_dependencies: |
| 12 | - vllm/plugins/ |
| 13 | - tests/plugins/ |
| 14 | commands: |
| 15 | # begin platform plugin and general plugin tests, all the code in-between runs on dummy platform |
| 16 | - pip install -e ./plugins/vllm_add_dummy_platform |
| 17 | - pytest -v -s plugins_tests/test_platform_plugins.py |
| 18 | - pip uninstall vllm_add_dummy_platform -y |
| 19 | # end platform plugin tests |
| 20 | # begin io_processor plugins test |
| 21 | # test generic io_processor plugins functions |
| 22 | - pytest -v -s ./plugins_tests/test_io_processor_plugins.py |
| 23 | # test Terratorch io_processor plugins |
| 24 | - pip install -e ./plugins/prithvi_io_processor_plugin |
| 25 | - pytest -v -s plugins_tests/test_terratorch_io_processor_plugins.py |
| 26 | - pip uninstall prithvi_io_processor_plugin -y |
| 27 | # test bge_m3_sparse io_processor plugin |
| 28 | - pip install -e ./plugins/bge_m3_sparse_plugin |
| 29 | - pytest -v -s plugins_tests/test_bge_m3_sparse_io_processor_plugins.py |
| 30 | - pip uninstall bge_m3_sparse_plugin -y |
| 31 | # test colbert_query io_processor plugin |
| 32 | - pip install -e ./plugins/colbert_query_plugin |
| 33 | - pytest -v -s plugins_tests/test_colbert_query_io_processor_plugins.py |
| 34 | - pip uninstall colbert_query_plugin -y |
| 35 | # end io_processor plugins test |
| 36 | # begin stat_logger plugins test |
| 37 | - pip install -e ./plugins/vllm_add_dummy_stat_logger |
| 38 | - pytest -v -s plugins_tests/test_stats_logger_plugins.py |
| 39 | - pip uninstall dummy_stat_logger -y |
| 40 | # end stat_logger plugins test |
| 41 | # begin endpoint plugins test |
| 42 | - pip install -e ./plugins/vllm_add_dummy_endpoint_plugin |
| 43 | - pytest -v -s plugins_tests/test_endpoint_plugins.py |
| 44 | - pip uninstall vllm_add_dummy_endpoint_plugin -y |
| 45 | # end endpoint plugins test |
| 46 | # other tests continue here: |
| 47 | - pytest -v -s plugins_tests/test_scheduler_plugins.py |
| 48 | - pip install -e ./plugins/vllm_add_dummy_model |
| 49 | - pytest -v -s distributed/test_distributed_oot.py |
| 50 | - pytest -v -s plugins_tests/test_oot_registration_online.py # it needs a clean process |
| 51 | - pytest -v -s plugins_tests/test_oot_registration_offline.py # it needs a clean process |
| 52 | - pytest -v -s plugins_tests/lora_resolvers # unit tests for in-tree lora resolver plugins |
| 53 | mirror: |
| 54 | amd: |
| 55 | label: ":amd: (MI250) Plugin Integration" |
| 56 | dind: false |
| 57 | device: mi250_2 |
| 58 | timeout_in_minutes: 50 |
| 59 | depends_on: |
| 60 | - image-build-amd |
| 61 | source_file_dependencies: |
| 62 | - vllm/plugins/ |
| 63 | - tests/plugins/ |
| 64 | - vllm/platforms/rocm.py |
| 65 | |
| 66 | |
| 67 | - label: ":nvidia: (H200 MIG 18GB) GGUF Plugin" |
| 68 | key: gguf-plugin |
| 69 | device: h200_18gb |
| 70 | timeout_in_minutes: 30 |
| 71 | soft_fail: true |
| 72 | optional: true |
| 73 | source_file_dependencies: |
| 74 | - vllm/model_executor/layers/quantization |
| 75 | - tests/plugins_tests/test_gguf_plugin.py |
| 76 | commands: |
| 77 | - pip install "vllm-gguf-plugin >= 0.0.2" |
| 78 | - pytest -v -s plugins_tests/gguf |
| 79 | mirror: |
| 80 | amd: |
| 81 | label: ":amd: (MI355 DPX) GGUF Plugin" |
| 82 | dind: false |
| 83 | device: mi355_dpx |
| 84 | timeout_in_minutes: 45 |
| 85 | working_dir: "/vllm-workspace/tests" |
| 86 | depends_on: |
| 87 | - image-build-amd |
| 88 | source_file_dependencies: |
| 89 | - vllm/model_executor/layers/quantization |
| 90 | - tests/plugins_tests/test_gguf_plugin.py |
| 91 | - tests/plugins_tests/gguf |
| 92 | - vllm/platforms/rocm.py |
| 93 | |
| 94 | - label: ":nvidia: (H200 MIG 18GB) BitsAndBytes Plugin" |
| 95 | key: bitsandbytes-plugin |
| 96 | device: h200_18gb |
| 97 | timeout_in_minutes: 30 |
| 98 | working_dir: "/vllm-workspace/tests" |
| 99 | soft_fail: true |
| 100 | optional: true |
| 101 | source_file_dependencies: |
| 102 | - vllm/model_executor/layers/quantization |
| 103 | - tests/plugins_tests/bitsandbytes |
| 104 | commands: |
| 105 | # bitsandbytes' int8 quant syncs internally, and it is out-of-tree, so |
| 106 | # there is nothing to wrap on the vLLM side. |
| 107 | - unset VLLM_GPU_SYNC_CHECK |
| 108 | - pip install "vllm-bnb-plugin >= 0.0.1" |
| 109 | - pytest -v -s plugins_tests/bitsandbytes -m 'not distributed' |
| 110 | |
| 111 | - label: ":nvidia: (L4) BitsAndBytes Plugin" |
| 112 | key: bitsandbytes-plugin-2-gpus |
| 113 | timeout_in_minutes: 15 |
| 114 | working_dir: "/vllm-workspace/tests" |
| 115 | device: l4 |
| 116 | num_devices: 2 |
| 117 | soft_fail: true |
| 118 | optional: true |
| 119 | source_file_dependencies: |
| 120 | - vllm/model_executor/layers/quantization |
| 121 | - tests/plugins_tests/bitsandbytes |
| 122 | commands: |
| 123 | # bitsandbytes' int8 quant syncs internally, and it is out-of-tree, so |
| 124 | # there is nothing to wrap on the vLLM side. |
| 125 | - unset VLLM_GPU_SYNC_CHECK |
| 126 | - pip install "vllm-bnb-plugin >= 0.0.1" |
| 127 | - pytest -v -s plugins_tests/bitsandbytes -m 'distributed(num_gpus=2)' |