Skip to content

Commit 06ae57c

Browse files
committed
Add Conformance CI and known failures file
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
1 parent 2c7f17c commit 06ae57c

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed

.github/workflows/conformance.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Conformance Tests
2+
3+
on:
4+
pull_request: {}
5+
push:
6+
branches: [main]
7+
workflow_dispatch:
8+
9+
jobs:
10+
server:
11+
name: Server Conformance
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: '17'
20+
distribution: 'temurin'
21+
cache: 'maven'
22+
23+
- name: Build and start server
24+
run: |
25+
mvn clean package -pl conformance-tests/server-servlet -am -DskipTests
26+
mvn exec:java -pl conformance-tests/server-servlet -Dexec.mainClass="io.modelcontextprotocol.conformance.server.ConformanceServlet" &
27+
timeout 30 bash -c 'until curl -s http://localhost:8080/mcp > /dev/null 2>&1; do sleep 0.5; done'
28+
29+
- name: Run conformance tests
30+
uses: modelcontextprotocol/conformance@v0.1.11
31+
with:
32+
mode: server
33+
url: http://localhost:8080/mcp
34+
suite: active
35+
expected-failures: ./conformance-tests/conformance-baseline.yml
36+
37+
client:
38+
name: Client Conformance
39+
runs-on: ubuntu-latest
40+
strategy:
41+
matrix:
42+
scenario: [initialize, tools_call, elicitation-sep1034-client-defaults, sse-retry]
43+
steps:
44+
- uses: actions/checkout@v4
45+
46+
- name: Set up JDK 17
47+
uses: actions/setup-java@v4
48+
with:
49+
java-version: '17'
50+
distribution: 'temurin'
51+
cache: 'maven'
52+
53+
- name: Build client
54+
run: mvn clean package -pl conformance-tests/client-jdk-http-client -am -DskipTests
55+
56+
- name: Run conformance test
57+
uses: modelcontextprotocol/conformance@v0.1.11
58+
with:
59+
mode: client
60+
command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-0.18.0-SNAPSHOT.jar'
61+
scenario: ${{ matrix.scenario }}
62+
expected-failures: ./conformance-tests/conformance-baseline.yml
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# MCP Java SDK Conformance Test Baseline
2+
# This file lists known failing scenarios that are expected to fail until fixed.
3+
# See: https://github.com/modelcontextprotocol/conformance/blob/main/SDK_INTEGRATION.md
4+
5+
server:
6+
# Resource subscription not implemented in SDK
7+
- resources-subscribe
8+
- resources-unsubscribe
9+
10+
# DNS rebinding protection missing Host/Origin validation
11+
- dns-rebinding-protection
12+
13+
client:
14+
# SSE retry field handling not implemented
15+
# - Client does not parse or respect retry: field timing
16+
# - Client does not send Last-Event-ID header
17+
- sse-retry

0 commit comments

Comments
 (0)