|
20 | 20 | # .github/actions/conformance/expected-failures*.yml files in the same change. |
21 | 21 | # |
22 | 22 | # TODO: replace with @modelcontextprotocol/conformance@0.2.0-alpha.5 once |
23 | | - # https://github.com/modelcontextprotocol/conformance/pull/357 publishes. |
24 | | - # The pkg.pr.new URL below is the preview build of that PR pinned at commit |
25 | | - # 65fcd39 (immutable). Do not merge this branch to main with a pkg.pr.new pin. |
| 23 | + # https://github.com/modelcontextprotocol/conformance/pull/357 publishes, and |
| 24 | + # drop CONFORMANCE_PKG_SHA256 plus the fetch-and-verify step below. |
26 | 25 | CONFORMANCE_PKG: "https://pkg.pr.new/@modelcontextprotocol/conformance@65fcd39" |
| 26 | + CONFORMANCE_PKG_SHA256: "9a381d7083f8be2fe7ae44efeca54530f18c61425805ddaf9cd88915efcc1574" |
27 | 27 |
|
28 | 28 | jobs: |
29 | 29 | server-conformance: |
|
39 | 39 | - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 |
40 | 40 | with: |
41 | 41 | node-version: 24 |
| 42 | + - name: Fetch and verify conformance harness |
| 43 | + # Only when CONFORMANCE_PKG is a URL: download, check the recorded |
| 44 | + # sha256, and re-point CONFORMANCE_PKG at the verified local tarball. |
| 45 | + # When CONFORMANCE_PKG is a registry spec, this step is a no-op (npm's |
| 46 | + # own integrity check applies). |
| 47 | + run: | |
| 48 | + case "$CONFORMANCE_PKG" in |
| 49 | + https://*) |
| 50 | + curl -fsSL "$CONFORMANCE_PKG" -o /tmp/conformance.tgz |
| 51 | + echo "$CONFORMANCE_PKG_SHA256 /tmp/conformance.tgz" | sha256sum -c - |
| 52 | + echo "CONFORMANCE_PKG=file:/tmp/conformance.tgz" >> "$GITHUB_ENV" |
| 53 | + ;; |
| 54 | + esac |
42 | 55 | - run: uv sync --frozen --all-extras --package mcp-everything-server |
43 | 56 | - name: Run server conformance (active suite) |
44 | 57 | run: >- |
|
70 | 83 | - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 |
71 | 84 | with: |
72 | 85 | node-version: 24 |
| 86 | + - name: Fetch and verify conformance harness |
| 87 | + run: | |
| 88 | + case "$CONFORMANCE_PKG" in |
| 89 | + https://*) |
| 90 | + curl -fsSL "$CONFORMANCE_PKG" -o /tmp/conformance.tgz |
| 91 | + echo "$CONFORMANCE_PKG_SHA256 /tmp/conformance.tgz" | sha256sum -c - |
| 92 | + echo "CONFORMANCE_PKG=file:/tmp/conformance.tgz" >> "$GITHUB_ENV" |
| 93 | + ;; |
| 94 | + esac |
73 | 95 | - run: uv sync --frozen --all-extras --package mcp |
74 | 96 | - name: Run client conformance (all suite) |
75 | 97 | run: >- |
|
0 commit comments