Add mcp-malt integration tests workflow#154
Conversation
Review SummaryOverall this is a well-structured integration test workflow. The code is clear and follows good GitHub Actions practices. Below are specific items to address: Issues to Fix1. Security: Hardcoded Docker host IP (172.17.0.1)
2. Error handling:
3. Redundant operation
4. Hardcoded timeout values lack context
Minor Improvements5. Python script should use project dependencies
6. Shell verbosity
7. Magic number in log tails
Best Practices Followed ✓
Performance NoteWorkflow appears appropriate for its purpose. The polling intervals (2s) and timeouts are reasonable for integration tests. VerdictRequest changes - Address items 1-3 before merge. Items 4-7 are optional improvements. |
Repo is still internal, should be able to remove after it's public
35f83df to
9fe83cd
Compare
|
@claude review these changes now that the new github action is working |
|
Claude finished @tgrunnagle's task —— View job Code Review Complete ✅I've reviewed the working MCP-TEF integration workflow. Overall this is a well-structured test workflow with good error handling and clear logging. Here's my analysis: Strengths ✨
Issues to Address 🔧1. Docker networking inconsistencyLines 70 & 177 - Uses hardcoded --env TOOLHIVE_HOST=172.17.0.1 # line 70
MCP_SERVER_URL=$(echo "${MCP_SERVER_URL}" | sed 's/127\.0\.0\.1/172\.17\.0\.1/g') # line 177Issue: Docker's default bridge IP isn't guaranteed across environments 2. Artifact upload version inconsistencyLine 300 - Uses uses: actions/upload-artifact@v4Issue: All other actions are pinned to specific commit SHAs for security, but this one only uses the version tag 3. Large log captureLines 329 & 332 - Captures 1000 lines of logs for main containers docker logs mcp-tef 2>&1 | tail -1000 || true
docker logs mcp-optimizer 2>&1 | tail -1000 || trueIssue: May create very verbose output in CI logs Minor Observations 📝4. Python script inline vs fileLines 112-134 - Embeds Python script using heredoc
5. Magic values scattered throughoutVarious hardcoded values: ports (9090, 8080, 8088), timeouts (180, 60, 120), poll intervals (2)
6. Graceful exit on errorsLines 204, 233, 250 use
Comparison with Previous ReviewLooking at the earlier review, I notice the workflow has addressed some concerns:
VerdictApprove with minor suggestions - The workflow is functional and well-designed. The issues identified are minor and don't block merge:
The workflow demonstrates good CI/CD practices and should work reliably in the GitHub Actions environment. [Job Run](https://github.com/StacklokLabs/mcp-optimizer/actions/runs/${{ github.run_id }}) | Branch: malt_cli_workflow_2025-12-10 |
|
@aponcedeleonch @therealnb The action is working now, so this is ready for review. Thanks! |
aponcedeleonch
left a comment
There was a problem hiding this comment.
looks good, some minor comments
Add a new GitHub Actions workflow that uses mcp-tef CLI (
mtef) to run query alignment tests against mcp-optimizer.Changes
.github/workflows/mcp-tef-integration-tests.ymlworkflow that:uv tool installfrom the mcp-tef git repositoryfind_toolto be calledConfiguration
continue-on-error: trueso test failures warn but don't block PR mergesOPENROUTER_API_KEYsecret for LLM accessanthropic/claude-sonnet-4.5model via OpenRouter