Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions .github/workflows/functionality-helm-chart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@ on:
- main
paths:
- '.github/**'
- 'tests/assets/**'
- 'tests/scripts/**'
- '**.py'
- 'pyproject.toml'
- 'helm/**'
pull_request:
paths:
- '.github/**'
- 'tests/assets/**'
- 'tests/scripts/**'
- '**.py'
- 'pyproject.toml'
- 'helm/**'
Expand Down Expand Up @@ -64,10 +68,10 @@ jobs:
sudo sysctl fs.protected_regular=0
eval "$(minikube docker-env)"
docker build --build-arg INSTALL_OPTIONAL_DEP=default -t git-act-router:ci -f docker/Dockerfile .
helm install vllm ./helm -f .github/values-05-secure-vllm.yaml
helm install vllm ./helm -f tests/assets/values-05-secure-vllm.yaml
- name: Validate the installation and send query to the stack
run: |
bash .github/port-forward.sh curl-05-secure-vllm
bash tests/scripts/port-forward.sh curl-05-secure-vllm
timeout-minutes: 3
- name: Archive functionality results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
Expand Down Expand Up @@ -113,10 +117,10 @@ jobs:
- name: Deploy via helm charts
run: |
cd ${{ github.workspace }}
helm install vllm ./helm -f .github/values-01-2pods-minimal-example.yaml
helm install vllm ./helm -f tests/assets/values-01-2pods-minimal-example.yaml
- name: Validate the installation and send query to the stack
run: |
bash .github/port-forward.sh curl-02-two-pods
bash tests/scripts/port-forward.sh curl-02-two-pods
timeout-minutes: 3
- name: Archive functionality results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
Expand Down Expand Up @@ -160,10 +164,10 @@ jobs:
helm dependency build helm/
- name: Deploy via helm charts
run: |
helm install vllm ./helm -f .github/values-04-multiple-models.yaml
helm install vllm ./helm -f tests/assets/values-04-multiple-models.yaml
- name: Validate the installation and send query to the stack
run: |
bash .github/port-forward.sh curl-04-multiple-models
bash tests/scripts/port-forward.sh curl-04-multiple-models
timeout-minutes: 5
- name: Archive functionality results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
Expand Down Expand Up @@ -221,10 +225,10 @@ jobs:
sudo sysctl fs.protected_regular=0
eval "$(minikube docker-env)"
docker build --build-arg INSTALL_OPTIONAL_DEP=default -t git-act-router:ci -f docker/Dockerfile .
helm install vllm ./helm -f .github/values-11-monitoring.yaml
helm install vllm ./helm -f tests/assets/values-11-monitoring.yaml
- name: Validate the installation and send query to the stack
run: |
bash .github/port-forward.sh curl-06-monitoring
bash tests/scripts/port-forward.sh curl-06-monitoring
timeout-minutes: 3
- name: Archive functionality results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/router-e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ on:
- 'docker/**'
- 'pyproject.toml'
- '.github/**'
- 'tests/assets/**'
- 'tests/scripts/**'
pull_request:
paths:
- 'src/vllm_router/**'
- 'docker/**'
- 'pyproject.toml'
- '.github/**'
- 'tests/assets/**'
- 'tests/scripts/**'
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -175,8 +179,8 @@ jobs:
run: |
echo "🚀 Starting vLLM serve backend"
mkdir -p "$LOG_DIR"
CUDA_VISIBLE_DEVICES=0 vllm serve facebook/opt-125m --port 8001 --gpu-memory-utilization 0.7 --chat-template .github/template-chatml.jinja > "$LOG_DIR/backend1.log" 2>&1 &
CUDA_VISIBLE_DEVICES=1 vllm serve facebook/opt-125m --port 8002 --gpu-memory-utilization 0.7 --chat-template .github/template-chatml.jinja > "$LOG_DIR/backend2.log" 2>&1 &
CUDA_VISIBLE_DEVICES=0 vllm serve facebook/opt-125m --port 8001 --gpu-memory-utilization 0.7 --chat-template tests/assets/template-chatml.jinja > "$LOG_DIR/backend1.log" 2>&1 &
CUDA_VISIBLE_DEVICES=1 vllm serve facebook/opt-125m --port 8002 --gpu-memory-utilization 0.7 --chat-template tests/assets/template-chatml.jinja > "$LOG_DIR/backend2.log" 2>&1 &

- name: Wait for backends to be ready
run: |
Expand Down
File renamed without changes.
20 changes: 10 additions & 10 deletions tests/e2e/run-k8s-routing-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -265,11 +265,11 @@ run_all_tests() {

# Define all available test types and their configurations
local test_configs=(
"roundrobin:roundrobin:.github/values-08-roundrobin-routing.yaml"
"prefixaware:prefixaware:.github/values-07-prefix-routing.yaml"
"kvaware:kvaware:.github/values-09-kvaware-routing.yaml"
"session:session:.github/values-06-session-routing.yaml"
"disaggregated-prefill:disaggregated_prefill:.github/values-10-disagg-prefill.yaml"
"roundrobin:roundrobin:tests/assets/values-08-roundrobin-routing.yaml"
"prefixaware:prefixaware:tests/assets/values-07-prefix-routing.yaml"
"kvaware:kvaware:tests/assets/values-09-kvaware-routing.yaml"
"session:session:tests/assets/values-06-session-routing.yaml"
"disaggregated-prefill:disaggregated_prefill:tests/assets/values-10-disagg-prefill.yaml"
)

local failed_tests=()
Expand Down Expand Up @@ -389,23 +389,23 @@ else
# Validate test type and set configuration for single test
case $TEST_TYPE in
"roundrobin")
HELM_VALUES_FILE=".github/values-08-roundrobin-routing.yaml"
HELM_VALUES_FILE="tests/assets/values-08-roundrobin-routing.yaml"
ROUTING_LOGIC="roundrobin"
;;
"prefixaware")
HELM_VALUES_FILE=".github/values-07-prefix-routing.yaml"
HELM_VALUES_FILE="tests/assets/values-07-prefix-routing.yaml"
ROUTING_LOGIC="prefixaware"
;;
"kvaware")
HELM_VALUES_FILE=".github/values-09-kvaware-routing.yaml"
HELM_VALUES_FILE="tests/assets/values-09-kvaware-routing.yaml"
ROUTING_LOGIC="kvaware"
;;
"disaggregated-prefill")
HELM_VALUES_FILE=".github/values-10-disagg-prefill.yaml"
HELM_VALUES_FILE="tests/assets/values-10-disagg-prefill.yaml"
ROUTING_LOGIC="disaggregated_prefill"
;;
"session")
HELM_VALUES_FILE=".github/values-06-session-routing.yaml"
HELM_VALUES_FILE="tests/assets/values-06-session-routing.yaml"
ROUTING_LOGIC="session"
;;
*)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ port=$(kubectl get svc vllm-router-service -o=jsonpath='{.spec.ports[0].nodePort

sleep 5

bash ".github/$1.sh" "$ip" "$port"
bash "tests/scripts/$1.sh" "$ip" "$port"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since port-forward.sh and the target scripts (e.g., curl-*.sh) are now located in the same directory (tests/scripts/), we can avoid hardcoding the relative path tests/scripts/ by using $(dirname "$0"). This makes the script location-independent and allows it to be run successfully from any working directory (including from within tests/scripts/ itself).

Suggested change
bash "tests/scripts/$1.sh" "$ip" "$port"
bash "$(dirname "$0")/$1.sh" "$ip" "$port"

Loading