Skip to content

Commit 97ba119

Browse files
author
Mike Kistler
committed
New skill to run conformance tests from a branch
1 parent 3e8ec3c commit 97ba119

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

  • .github/skills/run-conformance-from-branch
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
name: run-conformance-from-branch
3+
description: Run MCP conformance tests in the C# SDK against a conformance branch (including forks) instead of the published npm version, then restore pinned dependencies.
4+
compatibility: Requires npm, node, and dotnet SDK. Uses the csharp-sdk repo package.json/package-lock.json and tests/ModelContextProtocol.AspNetCore.Tests.
5+
---
6+
7+
# Run Conformance From Branch
8+
9+
Run C# SDK conformance tests against an unpublished `modelcontextprotocol/conformance` branch (including branches in forks).
10+
11+
## Use Cases
12+
13+
- Validate a conformance PR before it is published to npm
14+
- Validate C# SDK behavior against a fork with custom scenario changes
15+
- Reproduce failures caused by conformance changes
16+
17+
## Safety / Repo Hygiene
18+
19+
1. Start from a clean git state.
20+
2. Commit or stash local changes first.
21+
3. Restore pinned dependencies when done (`git checkout -- package.json package-lock.json` + `npm ci`).
22+
23+
## Inputs
24+
25+
- **Source type**: `upstream-branch` or `fork-branch`
26+
- **Source locator**:
27+
- Upstream branch: `modelcontextprotocol/conformance#<branch>`
28+
- Fork branch: `<owner>/conformance#<branch>`
29+
- **Scenario** (optional): e.g. `auth/scope-step-up`
30+
31+
## Workflows
32+
33+
### A) Install directly from GitHub branch (upstream or fork)
34+
35+
From `csharp-sdk` root:
36+
37+
```bash
38+
npm install --no-save @modelcontextprotocol/conformance@github:<owner>/conformance#<branch>
39+
```
40+
41+
Examples:
42+
43+
```bash
44+
npm install --no-save @modelcontextprotocol/conformance@github:modelcontextprotocol/conformance#main
45+
npm install --no-save @modelcontextprotocol/conformance@github:myuser/conformance#sep-2350-check
46+
```
47+
48+
## Run Tests
49+
50+
### Run client conformance tests with dotnet test filter:
51+
52+
```bash
53+
dotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ClientConformanceTests"
54+
```
55+
56+
### Run server conformance tests with dotnet test filter:
57+
58+
```bash
59+
dotnet test tests/ModelContextProtocol.AspNetCore.Tests/ModelContextProtocol.AspNetCore.Tests.csproj -f net10.0 --filter "FullyQualifiedName~ServerConformanceTests"
60+
```
61+
62+
## Reporting
63+
64+
Always report:
65+
66+
1. Installed conformance source (`npm ls @modelcontextprotocol/conformance --depth=0`)
67+
2. Scenario results (pass/fail/warnings)
68+
3. Any new check IDs observed (for traceability)
69+
70+
## Cleanup / Restore
71+
72+
Return repo to pinned dependency state:
73+
74+
```bash
75+
npm ci
76+
```

0 commit comments

Comments
 (0)