- move the conformance related files to a dedicated directory - simplify parts of the conformance script - create a scaffolding for a new GitHub action to run conformance tests - use the new --output-dir flag from the conformance suite for saving results on demand
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
name: Conformance Tests
|
|
|
|
on:
|
|
# TODO: enable automatic triggering when tested.
|
|
# push:
|
|
# branches: [main]
|
|
# pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: conformance-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
server-conformance:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
|
|
- name: Set up Go
|
|
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
|
|
with:
|
|
go-version: "^1.25"
|
|
- name: Start everything-server
|
|
run: |
|
|
go run ./conformance/everything-server/main.go -http=":3001" &
|
|
# Wait for the server to be ready.
|
|
timeout 15 bash -c 'until curl -s http://localhost:3001/mcp; do sleep 0.5; done'
|
|
- name: "Run conformance tests"
|
|
uses: modelcontextprotocol/conformance@c2f3fdaf781dcd5a862cb0d2f6454c1c210bf0f0 # v0.1.11
|
|
with:
|
|
mode: server
|
|
url: http://localhost:3001/mcp
|
|
suite: active
|
|
expected-failures: ./conformance/baseline.yml
|