Skip to content

Preserve user MCP env block; unify home resolution across the bridge #30

Preserve user MCP env block; unify home resolution across the bridge

Preserve user MCP env block; unify home resolution across the bridge #30

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
r-cmd-check:
name: R CMD check
runs-on: ubuntu-latest
env:
_R_CHECK_FORCE_SUGGESTS_: false
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- uses: r-lib/actions/setup-r-dependencies@v2
with:
dependencies: '"hard"'
extra-packages: any::rcmdcheck
- uses: r-lib/actions/check-r-package@v2
with:
error-on: '"warning"'
args: 'c("--no-manual")'
r-checks:
name: R parse + functional checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
- name: Install check dependencies
run: Rscript -e 'install.packages(c("jsonlite", "xml2", "zip"))'
- name: Run checks
run: Rscript .github/scripts/checks.R
bridge-smoke:
name: MCP bridge build + stdio handshake
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- name: Bridge copies must be identical
run: diff clauder-mcp/src/clauder_mcp/server.py inst/scripts/persistent_r_mcp.py
- name: Build wheel
run: uv build
working-directory: clauder-mcp
- name: Install wheel
run: |
uv venv smoke
uv pip install --python smoke/bin/python clauder-mcp/dist/*.whl pytest
- name: Unit tests
run: smoke/bin/python -m pytest clauder-mcp/tests -q
- name: stdio initialize + tools/list handshake
run: timeout 60 python3 .github/scripts/handshake.py smoke/bin/clauder-mcp