Skip to content

Commit e0fac7d

Browse files
committed
fix
1 parent bba7033 commit e0fac7d

File tree

2 files changed

+58
-9
lines changed

2 files changed

+58
-9
lines changed

.github/workflows/mcp-compatibility.yml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ jobs:
200200
201201
send-failure-notification:
202202
runs-on: ubuntu-latest
203-
needs: [test-fastmcp-compatibility, test-without-fastmcp]
203+
needs: [discover-mcp-versions, discover-fastmcp-versions, test-fastmcp-compatibility, test-without-fastmcp]
204204
if: failure()
205205

206206
steps:
@@ -214,6 +214,7 @@ jobs:
214214
import resend
215215
import os
216216
import sys
217+
import json
217218
218219
# Get sensitive data from environment
219220
api_key = os.environ.get('RESEND_API_KEY')
@@ -244,6 +245,22 @@ jobs:
244245
else:
245246
trigger_info = '<li>Triggered by: ${{ github.event_name }}</li>'
246247
248+
# Get the versions that were being tested
249+
mcp_versions = '${{ needs.discover-mcp-versions.outputs.mcp-versions }}'
250+
fastmcp_versions = '${{ needs.discover-fastmcp-versions.outputs.fastmcp-versions }}'
251+
252+
# Parse JSON arrays safely
253+
try:
254+
mcp_list = json.loads(mcp_versions) if mcp_versions else []
255+
fastmcp_list = json.loads(fastmcp_versions) if fastmcp_versions else []
256+
except:
257+
mcp_list = []
258+
fastmcp_list = []
259+
260+
# Format version lists
261+
mcp_versions_html = '<br>'.join([f' • MCP {v}' for v in mcp_list]) if mcp_list else 'No versions tested'
262+
fastmcp_versions_html = '<br>'.join([f' • FastMCP {v}' for v in fastmcp_list]) if fastmcp_list else 'No versions tested'
263+
247264
email_html = f'''
248265
<h2>🚨 MCPCat Compatibility Tests Failed</h2>
249266
@@ -259,16 +276,21 @@ jobs:
259276
260277
<p><a href=\"{workflow_url}\">View full workflow run details</a></p>
261278
279+
<h3>Versions Tested:</h3>
280+
<p><strong>MCP Versions (without FastMCP):</strong><br>
281+
{mcp_versions_html}</p>
282+
283+
<p><strong>FastMCP Versions (with MCP dependencies):</strong><br>
284+
{fastmcp_versions_html}</p>
285+
262286
<h3>Impact:</h3>
263-
<p>This failure indicates that the current codebase has compatibility issues with:</p>
264-
<ul>
265-
<li>Stable MCP versions (without FastMCP)</li>
266-
<li>Community FastMCP versions (>=2.7.0)</li>
267-
</ul>
287+
<p>This failure indicates compatibility issues with one or more of the tested versions.</p>
288+
<p>Check the workflow run for specific failing combinations.</p>
268289
269290
<h3>Action Required:</h3>
270291
<ul>
271-
<li>Review the test failures immediately</li>
292+
<li>Review the specific test failures in the workflow</li>
293+
<li>Identify which version combinations are failing</li>
272294
<li>Check for breaking changes in dependencies</li>
273295
<li>Fix compatibility issues before merging</li>
274296
</ul>

.github/workflows/mcp-prerelease-compatibility.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ jobs:
198198
199199
send-failure-notification:
200200
runs-on: ubuntu-latest
201-
needs: [test-fastmcp-prerelease, test-mcp-prerelease]
201+
needs: [discover-mcp-prereleases, discover-fastmcp-prereleases, test-fastmcp-prerelease, test-mcp-prerelease]
202202
if: failure()
203203

204204
steps:
@@ -212,6 +212,7 @@ jobs:
212212
import resend
213213
import os
214214
import sys
215+
import json
215216
216217
# Get sensitive data from environment
217218
api_key = os.environ.get('RESEND_API_KEY')
@@ -231,6 +232,24 @@ jobs:
231232
# Determine which tests failed
232233
workflow_url = 'https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}'
233234
235+
# Get the prerelease versions that were being tested
236+
mcp_prereleases = '${{ needs.discover-mcp-prereleases.outputs.mcp-prereleases }}'
237+
fastmcp_prereleases = '${{ needs.discover-fastmcp-prereleases.outputs.fastmcp-prereleases }}'
238+
has_mcp_prereleases = '${{ needs.discover-mcp-prereleases.outputs.has-prereleases }}'
239+
has_fastmcp_prereleases = '${{ needs.discover-fastmcp-prereleases.outputs.has-prereleases }}'
240+
241+
# Parse JSON arrays safely
242+
try:
243+
mcp_list = json.loads(mcp_prereleases) if mcp_prereleases and has_mcp_prereleases == 'true' else []
244+
fastmcp_list = json.loads(fastmcp_prereleases) if fastmcp_prereleases and has_fastmcp_prereleases == 'true' else []
245+
except:
246+
mcp_list = []
247+
fastmcp_list = []
248+
249+
# Format version lists
250+
mcp_versions_html = '<br>'.join([f' • MCP {v}' for v in mcp_list]) if mcp_list else 'No MCP prereleases tested'
251+
fastmcp_versions_html = '<br>'.join([f' • FastMCP {v}' for v in fastmcp_list]) if fastmcp_list else 'No FastMCP prereleases tested'
252+
234253
email_html = f'''
235254
<h2>⚠️ MCPCat Prerelease Compatibility Tests Failed</h2>
236255
@@ -246,11 +265,19 @@ jobs:
246265
247266
<p><a href=\"{workflow_url}\">View full workflow run details</a></p>
248267
268+
<h3>Prerelease Versions Tested:</h3>
269+
<p><strong>MCP Prerelease Versions:</strong><br>
270+
{mcp_versions_html}</p>
271+
272+
<p><strong>FastMCP Prerelease Versions:</strong><br>
273+
{fastmcp_versions_html}</p>
274+
249275
<h3>What to check:</h3>
250276
<ul>
251-
<li>Review which prerelease versions failed</li>
277+
<li>Review the specific failing versions in the workflow</li>
252278
<li>Check for deprecation warnings or breaking changes</li>
253279
<li>Update compatibility if needed before the stable release</li>
280+
<li>Consider if changes are needed to support upcoming versions</li>
254281
</ul>
255282
'''
256283

0 commit comments

Comments
 (0)