Skip to main content
Glama
mcp-smoke-test.yml5.59 kB
name: MCP Smoke Test on: schedule: # Run every 3 days at 9 AM UTC - cron: '0 9 */3 * *' workflow_dispatch: # Allow manual triggering for testing permissions: contents: read issues: write jobs: smoke-test: runs-on: ubuntu-latest env: # ZenML configuration ZENML_DISABLE_RICH_LOGGING: "1" ZENML_LOGGING_COLORS_DISABLED: "true" ZENML_ANALYTICS_OPT_IN: "false" PYTHONIOENCODING: "UTF-8" PYTHONUNBUFFERED: "1" ZENML_STORE_URL: ${{ secrets.ZENML_STORE_URL }} ZENML_STORE_API_KEY: ${{ secrets.ZENML_STORE_API_KEY }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: version: "0.7.13" enable-cache: true - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Run MCP smoke test id: smoke-test run: | echo "Running MCP smoke test..." uv run scripts/test_mcp_server.py server/zenml_server.py continue-on-error: true - name: Create issue on failure if: steps.smoke-test.outcome == 'failure' uses: actions/github-script@v7 with: script: | // Check for existing open issues with the same title const issues = await github.rest.issues.listForRepo({ owner: context.repo.owner, repo: context.repo.repo, state: 'open', labels: 'bug' }); const existingIssue = issues.data.find(issue => issue.title.includes('MCP Smoke Test Failed') ); if (existingIssue) { console.log(`Existing issue found: #${existingIssue.number}`); // Add a comment to the existing issue instead of creating a new one await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: existingIssue.number, body: ` ## 🔄 MCP Smoke Test Failed Again **Workflow Run:** [${context.runNumber}](${context.payload.repository.html_url}/actions/runs/${context.runId}) **Branch:** ${context.ref} **Commit:** ${context.sha.substring(0, 7)} **Triggered by:** ${context.eventName} **Date:** ${new Date().toISOString()} The MCP smoke test is still failing. Please investigate the recurring issue. **Logs:** Check the [workflow run](${context.payload.repository.html_url}/actions/runs/${context.runId}) for detailed error logs. ` }); } else { // Create a new issue await github.rest.issues.create({ owner: context.repo.owner, repo: context.repo.repo, title: '🚨 MCP Smoke Test Failed', body: ` ## MCP Smoke Test Failure Report The automated MCP smoke test has failed. This indicates there may be issues with the MCP server functionality. ### Details **Workflow Run:** [${context.runNumber}](${context.payload.repository.html_url}/actions/runs/${context.runId}) **Branch:** ${context.ref} **Commit:** ${context.sha.substring(0, 7)} **Triggered by:** ${context.eventName} **Date:** ${new Date().toISOString()} ### Investigation Steps 1. Check the [workflow logs](${context.payload.repository.html_url}/actions/runs/${context.runId}) for detailed error information 2. Verify ZenML server connectivity and authentication 3. Test the MCP server locally using: \`uv run scripts/test_mcp_server.py zenml_server.py\` 4. Check for any recent changes that might have affected the MCP server ### Environment - **ZenML Store URL:** ${process.env.ZENML_STORE_URL ? 'Set (from secrets)' : 'Not set'} - **ZenML API Key:** ${process.env.ZENML_STORE_API_KEY ? 'Set (from secrets)' : 'Not set'} @strickvl @htahir1 Please investigate this failure. `, labels: ['bug'] }); } - name: Send Discord notification on failure if: steps.smoke-test.outcome == 'failure' uses: sarisia/actions-status-discord@v1 with: webhook: ${{ secrets.DISCORD_WEBHOOK }} title: "🚨 MCP Smoke Test Failed" description: | The automated MCP smoke test has failed for the ZenML MCP server. **Workflow:** [Run #${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) **Branch:** ${{ github.ref_name }} **Commit:** ${{ github.sha }} **Triggered by:** ${{ github.event_name }} Please check the workflow logs for detailed error information. color: 0xff0000 username: "GitHub Actions" - name: Report success if: steps.smoke-test.outcome == 'success' run: | echo "✅ MCP smoke test passed successfully!" echo "All MCP server functionality is working as expected."

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zenml-io/mcp-zenml'

If you have feedback or need assistance with the MCP directory API, please join our Discord server