diff --git a/.github/sync.yml b/.github/sync.yml index 53af157..59e4ec9 100644 --- a/.github/sync.yml +++ b/.github/sync.yml @@ -11,6 +11,17 @@ Skyvern-AI/rustwright-cloud: - source: benchmarks/ dest: benchmarks/ deleteOrphaned: true + # The native agent CLI (cli/) and the native MCP server (mcp-rs/) are + # standalone Cargo workspaces developed in both repos; they are mapped here + # so external contributions back-sync to the cloud repo like the rest of the + # shared tree. Both directories must exist on this repo's main before these + # entries (deleteOrphaned would otherwise propagate their absence). + - source: cli/ + dest: cli/ + deleteOrphaned: true + - source: mcp-rs/ + dest: mcp-rs/ + deleteOrphaned: true # capi/ and rust-native/ are Cargo workspace members referenced by the synced # root Cargo.toml; they must mirror together or the target repo's workspace # breaks (as happened when Cargo.toml gained these members before the dirs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2bc7c89..4fa7812 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,10 @@ on: jobs: test: name: cargo and fast pytest - runs-on: ubuntu-latest + # Matches the development repo's runner. The mcp-rs suite includes + # Chromium race/stability tests that hold green on this runner class but + # produce false failures on ubuntu-latest. + runs-on: blacksmith-2vcpu-ubuntu-2404 steps: - name: Check out repository @@ -43,6 +46,9 @@ jobs: - name: Install Chromium run: python -m rustwright install chromium + - name: Run standalone native MCP tests + run: cargo test --manifest-path mcp-rs/Cargo.toml --locked + - name: Run fast representative pytest subset run: >- pytest tests/test_rustwright_sync_api.py diff --git a/mcp/AGENT_SETUP.md b/mcp/AGENT_SETUP.md index ecd3085..136e9f5 100644 --- a/mcp/AGENT_SETUP.md +++ b/mcp/AGENT_SETUP.md @@ -1,5 +1,12 @@ # Rustwright MCP agent setup +> **Deprecated:** these instructions install the legacy Python server. The +> canonical server is now the native `rustwright-mcp` in +> [`mcp-rs/`](../mcp-rs/); prefer +> `https://raw.githubusercontent.com/Skyvern-AI/rustwright/HEAD/mcp-rs/README.md` +> for setup. The Python server remains available until the native tool set +> reaches full parity. + These are official instructions from the Rustwright project for connecting an AI coding agent to the Rustwright MCP browser-automation server. If you are an AI agent reading this because a user asked you to set up Rustwright: complete diff --git a/mcp/README.md b/mcp/README.md index c8ce91e..01a886b 100644 --- a/mcp/README.md +++ b/mcp/README.md @@ -1,5 +1,11 @@ # Rustwright MCP server +> **Deprecated:** this Python server has been superseded by the native Rust +> server in [`mcp-rs/`](../mcp-rs/) — the canonical `rustwright-mcp` +> implementation, where all new tools land. This server remains available +> until the native tool set reaches full parity, after which it will be +> removed. See [`mcp-rs/README.md`](../mcp-rs/README.md) for setup. + Give any MCP client `browser_*` tools over stdio with no clone or browser download. ## Install