Skip to content

Conversation

dsarno
Copy link
Owner

@dsarno dsarno commented Aug 21, 2025

Summary by CodeRabbit

  • Tests

    • Introduced automated desktop parity testing for Unity MCP in CI, ensuring consistent behavior across environments. The workflow can be triggered manually and includes sensible timeouts for reliable runs.
  • Chores

    • Added a GitHub Actions workflow to streamline desktop parity checks, improving confidence in releases and reducing manual verification effort.

Copy link

coderabbitai bot commented Aug 21, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Introduces a new GitHub Actions workflow to run Claude-based desktop parity tests for Unity MCP via a manual trigger. It sets up Python with uv, launches a Unity MCP server, and runs anthropics/claude-code-base-action with predefined tools, permissions, and prompt configuration.

Changes

Cohort / File(s) Summary of Changes
CI workflow: Unity MCP desktop parity
.github/workflows/claude-desktop-parity.yml
Adds a manual (workflow_dispatch) job running on ubuntu-latest with a 20m timeout: checks out repo, installs Python 3.11 + uv, starts Unity MCP server via mcp_config, and runs claude-code-base-action (model claude-3-7-sonnet-20250219) with constrained tools, permissive auto-approvals, and prompt .claude/prompts/nl-unity-suite.md.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant GA as GitHub Actions
    participant R as Repo
    participant UV as Python+uv
    participant Claude as claude-code-base-action
    participant MCP as Unity MCP Server

    Dev->>GA: Trigger workflow_dispatch
    GA->>R: actions/checkout
    GA->>UV: setup-uv (Python 3.11)
    GA->>Claude: Run with model claude-3-7-sonnet-20250219<br/>allowed tools + auto-approvals
    Claude->>UV: Launch MCP via mcp_config (stdio)
    Claude->>MCP: Execute desktop parity test prompts
    MCP-->>Claude: Responses / results
    Claude-->>GA: Logs and completion within time/turn limits
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

A whisk of whiskers, a tap-tap key,
I tested desktops from burrow to sea.
Claude hops in, UV spins bright,
MCP hums through the Unity night.
Green lights blink—parity’s song,
A happy hare: “The flows are strong.” 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 682c60e and d369457.

📒 Files selected for processing (1)
  • .github/workflows/claude-desktop-parity.yml (1 hunks)
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/ci-add-desktop-parity

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@dsarno dsarno merged commit 4922208 into main Aug 21, 2025
1 check was pending
Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Summary

This PR introduces a new GitHub Actions workflow that implements automated testing parity between Claude Desktop and CI environments for the Unity MCP project. The workflow creates a "desktop parity" testing system that mirrors Claude Desktop's behavior by using the same AI model (claude-3-5-sonnet-20241022), similar timeout configurations, and identical MCP server setups.

The workflow sets up a Python environment using uv, configures Claude AI with specific Unity MCP tools and permissions, then executes automated tests defined in .claude/prompts/nl-unity-suite.md. This enables automated validation of Unity MCP functionality without requiring manual desktop testing, particularly for complex Unity script editing operations. The integration fits into the broader Unity MCP ecosystem by ensuring that the same AI-powered development capabilities available locally are also validated in CI pipelines.

Important Files Changed

Changed Files
Filename Score Overview
.github/workflows/claude-desktop-parity.yml 2/5 New CI workflow implementing Claude AI desktop parity testing with concerning path references and broad permissions

Confidence score: 2/5

  • This PR requires careful review due to potential breaking changes and configuration issues
  • Score lowered due to invalid server path references, overly permissive auto-approval settings, and potentially resource-intensive workflow design
  • Pay close attention to the workflow configuration file and verify server path exists before merging

Sequence Diagram

sequenceDiagram
    participant User
    participant "GitHub Actions" as GHA
    participant "Unity MCP Server" as MCP
    participant "Claude Agent" as Claude
    participant "Unity Codebase" as Unity

    User->>GHA: "Trigger workflow_dispatch"
    GHA->>GHA: "Setup Ubuntu runner"
    GHA->>GHA: "Checkout repository"
    GHA->>GHA: "Install Python + uv"
    GHA->>MCP: "Start Unity MCP Server via uv run"
    MCP->>MCP: "Initialize with stdio transport"
    GHA->>Claude: "Initialize claude-code-base-action"
    Claude->>GHA: "Load prompt from .claude/prompts/nl-unity-suite.md"
    Claude->>MCP: "Connect via MCP protocol"
    MCP->>Claude: "Expose Unity tools (mcp__unity__*)"
    loop "Up to 60 turns or 15 min timeout"
        Claude->>Unity: "Execute Unity operations via MCP tools"
        Unity->>Claude: "Return Unity state/results"
        Claude->>Unity: "Read/Write/Edit Unity files"
        Unity->>Claude: "File operation results"
        Claude->>GHA: "Execute Bash commands (git, etc.)"
        GHA->>Claude: "Command execution results"
    end
    Claude->>GHA: "Complete desktop parity testing"
    GHA->>User: "Workflow completion status"
Loading

1 file reviewed, 1 comment

Edit Code Review Bot Settings | Greptile

"mcpServers": {
"unity": {
"command": "uv",
"args": ["run","--directory","UnityMcpBridge/UnityMcpServer~/src","python","server.py"],
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Path 'UnityMcpBridge/UnityMcpServer~/src' doesn't exist in repository. Check actual MCP server location.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant