Skip to content

Commit 1afec99

Browse files
ci: add external conformance testing with mcp-conformance-action
Adds a complementary workflow using mcp-conformance-action@v2.2.0 for standardized MCP protocol compliance testing. This provides: - Consistent testing methodology with other MCP server implementations - Automatic comparison against merge-base on PRs - Multiple configuration testing (default, read-only, dynamic-toolsets) The existing internal conformance script remains for detailed branch-to-branch comparisons with timing and custom reporting.
1 parent 7c053f1 commit 1afec99

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: External Conformance Test
2+
3+
# This workflow uses the external mcp-conformance-action to verify
4+
# MCP protocol compliance. It complements the internal conformance
5+
# script by providing standardized testing that's consistent with
6+
# other MCP server implementations.
7+
8+
on:
9+
workflow_dispatch:
10+
pull_request:
11+
paths:
12+
- 'cmd/**'
13+
- 'pkg/**'
14+
- 'internal/**'
15+
- 'go.mod'
16+
- 'go.sum'
17+
18+
permissions:
19+
contents: read
20+
21+
jobs:
22+
conformance:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
28+
29+
- uses: SamMorrowDrums/mcp-conformance-action@v2.2.0
30+
with:
31+
setup_go: 'true'
32+
install_command: go mod download
33+
start_command: go run ./cmd/github-mcp-server stdio
34+
env_vars: |
35+
GITHUB_PERSONAL_ACCESS_TOKEN=test-token
36+
configurations: |
37+
[
38+
{"name": "default", "args": ""},
39+
{"name": "read-only", "args": "--read-only"},
40+
{"name": "dynamic-toolsets", "args": "--dynamic-toolsets"},
41+
{"name": "toolsets-all", "args": "--toolsets=all"},
42+
{"name": "toolsets-repos", "args": "--toolsets=repos"},
43+
{"name": "toolsets-issues", "args": "--toolsets=issues"}
44+
]
45+
46+
- name: Add interpretation note
47+
if: always()
48+
run: |
49+
echo "" >> $GITHUB_STEP_SUMMARY
50+
echo "---" >> $GITHUB_STEP_SUMMARY
51+
echo "" >> $GITHUB_STEP_SUMMARY
52+
echo "ℹ️ **External Conformance Test**" >> $GITHUB_STEP_SUMMARY
53+
echo "" >> $GITHUB_STEP_SUMMARY
54+
echo "This workflow uses [mcp-conformance-action](https://github.com/SamMorrowDrums/mcp-conformance-action) v2.2.0" >> $GITHUB_STEP_SUMMARY
55+
echo "for standardized MCP protocol compliance testing." >> $GITHUB_STEP_SUMMARY
56+
echo "" >> $GITHUB_STEP_SUMMARY
57+
echo "For detailed branch-to-branch comparisons, see the internal conformance workflow." >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)