Skip to content
Closed

CI #654

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
101 changes: 101 additions & 0 deletions .github/workflows/integration-test-ai-gateway.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Integration Test [AI Gateway]

on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch: # Allow manual triggering

jobs:
test-ai-gateway:
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- name: Check out the repo
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'

- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.90

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
make \
curl \
build-essential \
pkg-config

- name: Install Kind
run: |
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.22.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

- name: Install kubectl
run: |
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl

- name: Install Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

- name: Download E2E test dependencies
run: |
cd e2e && go mod download

- name: Build E2E test binary
run: |
make build-e2e

- name: Run AI Gateway E2E tests
id: e2e-test
run: |
make e2e-test PROFILE=ai-gateway
env:
E2E_VERBOSE: "true"

- name: Show cluster logs on failure
if: failure()
run: |
echo "=== Kind Cluster Info ==="
kind get clusters || true
kubectl cluster-info --context kind-semantic-router-e2e || true

echo "=== All Pods ==="
kubectl get pods --all-namespaces -o wide || true

echo "=== Semantic Router Logs ==="
kubectl logs -n vllm-semantic-router-system deployment/semantic-router --tail=100 || true

echo "=== Envoy Gateway Logs ==="
kubectl logs -n envoy-gateway-system deployment/envoy-gateway --tail=100 || true

echo "=== AI Gateway Controller Logs ==="
kubectl logs -n envoy-ai-gateway-system deployment/ai-gateway-controller --tail=100 || true

echo "=== Gateway Resources ==="
kubectl get gateway -A || true
kubectl get httproute -A || true

echo "=== Events ==="
kubectl get events --all-namespaces --sort-by='.lastTimestamp' || true

- name: Clean up
if: always()
run: |
make e2e-cleanup || true

Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
name: Quickstart Integration Test
name: Integration Test [Docker Compose]

on:
pull_request:
branches:
- main
paths:
- 'scripts/quickstart.sh'
- 'deploy/docker-compose/**'
- 'config/config.yaml'
- 'tools/make/common.mk'
- 'tools/make/models.mk'
- 'tools/make/docker.mk'
workflow_dispatch: # Allow manual triggering

jobs:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
name: Helm Chart CI
name: Integration Test [Helm]

on:
push:
branches:
- main
paths:
- 'deploy/helm/**'
- '.github/workflows/helm-ci.yml'
pull_request:
branches:
- main
paths:
- 'deploy/helm/**'
- '.github/workflows/helm-ci.yml'
workflow_dispatch:

env:
Expand Down Expand Up @@ -161,9 +155,6 @@ jobs:
# CI environment: Download only essential model to avoid OOM
# Only download all-MiniLM-L12-v2 (smallest model ~120MB)
helm install semantic-router ${{ env.CHART_PATH }} \
--set initContainer.resources.limits.memory=2Gi \
--set initContainer.resources.requests.memory=1Gi \
--set-json 'initContainer.models=[{"name":"all-MiniLM-L12-v2","repo":"sentence-transformers/all-MiniLM-L12-v2"}]' \
--namespace vllm-semantic-router-system \
--wait \
--timeout 10m \
Expand Down Expand Up @@ -272,9 +263,6 @@ jobs:
echo "::group::Upgrade Chart"
# Use same minimal config for upgrade test
helm upgrade semantic-router ${{ env.CHART_PATH }} \
--set initContainer.resources.limits.memory=2Gi \
--set initContainer.resources.requests.memory=1Gi \
--set-json 'initContainer.models=[{"name":"all-MiniLM-L12-v2","repo":"sentence-transformers/all-MiniLM-L12-v2"}]' \
--namespace vllm-semantic-router-system \
--wait \
--timeout 10m
Expand Down
116 changes: 0 additions & 116 deletions .github/workflows/k8s-config-test.yml

This file was deleted.

Loading
Loading