Skip to content

Commit 1f148d9

Browse files
committed
ci: run client conformance scenarios
1 parent 5feaef0 commit 1f148d9

1 file changed

Lines changed: 36 additions & 2 deletions

File tree

.github/workflows/conformance.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ jobs:
2929
- uses: Swatinem/rust-cache@v2
3030

3131
# Build the whole package (server + client bins): the conformance crate is
32-
# excluded from the workspace default-members, so this is the only CI job
33-
# that catches compile breakage in it.
32+
# excluded from the workspace default-members.
3433
- name: Build conformance binaries
3534
run: cargo build -p mcp-conformance
3635

@@ -75,3 +74,38 @@ jobs:
7574
with:
7675
name: conformance-server-results
7776
path: conformance-results
77+
78+
client:
79+
runs-on: ubuntu-latest
80+
permissions:
81+
contents: read
82+
steps:
83+
- uses: actions/checkout@v7
84+
85+
- name: Install Rust toolchain
86+
uses: dtolnay/rust-toolchain@stable
87+
88+
- uses: Swatinem/rust-cache@v2
89+
90+
- name: Build conformance binaries
91+
run: cargo build -p mcp-conformance
92+
93+
- name: Run client auth discovery scenarios
94+
run: |
95+
for scenario in \
96+
auth/metadata-var2 \
97+
auth/metadata-var3 \
98+
auth/2025-03-26-oauth-endpoint-fallback
99+
do
100+
npx -y "@modelcontextprotocol/conformance@${CONFORMANCE_VERSION}" client \
101+
--command "$(pwd)/target/debug/conformance-client" \
102+
--scenario "$scenario" \
103+
-o "conformance-client-results/${scenario//\//-}"
104+
done
105+
106+
- name: Upload results
107+
if: always()
108+
uses: actions/upload-artifact@v7
109+
with:
110+
name: conformance-client-results
111+
path: conformance-client-results

0 commit comments

Comments
 (0)