Skip to content

Commit e13f277

Browse files
author
Yehudit Kerido
committed
feat: Add aibrix profile for E2E testing framework
Signed-off-by: Yehudit Kerido <[email protected]>
1 parent 775e216 commit e13f277

File tree

5 files changed

+491
-9
lines changed

5 files changed

+491
-9
lines changed

.github/workflows/integration-test-k8s.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ jobs:
1313
integration-test:
1414
runs-on: ubuntu-latest
1515
timeout-minutes: 60
16+
strategy:
17+
fail-fast: false # Continue testing other profiles even if one fails
18+
matrix:
19+
profile: [ai-gateway, aibrix]
1620

1721
steps:
1822
- name: Check out the repo
@@ -61,11 +65,11 @@ jobs:
6165
run: |
6266
make build-e2e
6367
64-
- name: Run Integration E2E tests
68+
- name: Run Integration E2E tests (${{ matrix.profile }})
6569
id: e2e-test
6670
run: |
6771
set +e # Don't exit on error, we want to capture the result
68-
make e2e-test E2E_PROFILE=ai-gateway E2E_VERBOSE=true E2E_KEEP_CLUSTER=false
72+
make e2e-test E2E_PROFILE=${{ matrix.profile }} E2E_VERBOSE=true E2E_KEEP_CLUSTER=false
6973
TEST_EXIT_CODE=$?
7074
echo "test_exit_code=${TEST_EXIT_CODE}" >> $GITHUB_OUTPUT
7175
exit ${TEST_EXIT_CODE}
@@ -74,7 +78,7 @@ jobs:
7478
if: always()
7579
uses: actions/upload-artifact@v4
7680
with:
77-
name: test-reports
81+
name: test-reports-${{ matrix.profile }}
7882
path: |
7983
test-report.json
8084
test-report.md
@@ -123,25 +127,26 @@ jobs:
123127
fi
124128
125129
# Add additional context
126-
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
130+
cat >> $GITHUB_STEP_SUMMARY << EOF
127131
128132
---
129133
130134
### 📚 Additional Resources
131135
136+
- **Profile:** \`${{ matrix.profile }}\`
132137
- **Trigger:** ${{ github.event_name }}
133-
- **Branch:** `${{ github.ref_name }}`
134-
- **Commit:** `${{ github.sha }}`
138+
- **Branch:** \`${{ github.ref_name }}\`
139+
- **Commit:** \`${{ github.sha }}\`
135140
- **Workflow Run:** [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
136141
- [E2E Test Framework Documentation](https://github.com/${{ github.repository }}/tree/main/e2e)
137-
- [AI Gateway Profile](https://github.com/${{ github.repository }}/tree/main/e2e/profiles/ai-gateway)
142+
- [${{ matrix.profile }} Profile](https://github.com/${{ github.repository }}/tree/main/e2e/profiles/${{ matrix.profile }})
138143
139144
### 📦 Artifacts
140145
141146
- **test-report.json** - Detailed test results in JSON format
142147
- **test-report.md** - Human-readable test report
143148
- **semantic-router-logs.txt** - Complete semantic-router pod logs
144-
- All artifacts are retained for 30 days
149+
- All artifacts are retained for 30 days as \`test-reports-${{ matrix.profile }}\`
145150
EOF
146151
else
147152
echo "⚠️ Test report file not found!" >> $GITHUB_STEP_SUMMARY

e2e/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ The framework follows a **separation of concerns** design:
1313
### Supported Profiles
1414

1515
- **ai-gateway**: Tests Semantic Router with Envoy AI Gateway integration
16+
- **aibrix**: Tests Semantic Router with vLLM AIBrix integration
1617
- **istio**: Tests Semantic Router with Istio Gateway (future)
1718
- **production-stack**: Tests vLLM Production Stack configurations (future)
1819
- **llm-d**: Tests with LLM-D (future)
1920
- **dynamo**: Tests with Nvidia Dynamo (future)
20-
- **aibrix**: Tests with vLLM AIBrix (future)
2121

2222
## Directory Structure
2323

e2e/cmd/e2e/main.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ import (
1010
"github.com/vllm-project/semantic-router/e2e/pkg/banner"
1111
"github.com/vllm-project/semantic-router/e2e/pkg/framework"
1212
aigateway "github.com/vllm-project/semantic-router/e2e/profiles/ai-gateway"
13+
aibrix "github.com/vllm-project/semantic-router/e2e/profiles/aibrix"
1314

1415
// Import profiles to register test cases
1516
_ "github.com/vllm-project/semantic-router/e2e/profiles/ai-gateway"
17+
_ "github.com/vllm-project/semantic-router/e2e/profiles/aibrix"
1618
)
1719

1820
const version = "v1.0.0"
@@ -96,6 +98,8 @@ func getProfile(name string) (framework.Profile, error) {
9698
switch name {
9799
case "ai-gateway":
98100
return aigateway.NewProfile(), nil
101+
case "aibrix":
102+
return aibrix.NewProfile(), nil
99103
// Add more profiles here as they are implemented
100104
// case "istio":
101105
// return istio.NewProfile(), nil

0 commit comments

Comments
 (0)