feat(selfhosted): add client-side MCP tools #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Python CI | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| # A workflow added by a pull request is not loaded from the base branch for | |
| # that pull_request event. Running the workflow from ark-hand's same-repo | |
| # sync branch makes the first workflow-installation PR testable as well. | |
| push: | |
| branches: | |
| - "sync/**" | |
| paths: | |
| - ".github/workflows/ci.yml" | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: python-ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| minimum-python-import: | |
| name: Import on Python ${{ matrix.python-version }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.8", "3.9"] | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package | |
| run: python -m pip install --disable-pip-version-check --quiet . | |
| - name: Import package | |
| run: python -c "import arkruntime" | |
| python-ci: | |
| name: Python CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install uv | |
| run: python -m pip install --disable-pip-version-check --quiet uv | |
| - name: Install dependencies | |
| run: uv sync --frozen --no-progress | |
| - name: Lint | |
| run: uv run ruff check src/ | |
| - name: Check formatting | |
| run: uv run ruff format --check src/ | |
| - name: Test self-hosted core | |
| run: uv run pytest -q tests/ | |
| mcp-ci: | |
| name: MCP adapter CI | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install package with MCP adapter | |
| run: python -m pip install --disable-pip-version-check --quiet '.[mcp]' pytest trio | |
| - name: Test MCP adapter and example | |
| run: pytest -q tests/test_mcp_adapter.py tests/test_self_hosted_mcp_example.py | |
| - name: Check MCP example source | |
| run: python -m py_compile examples/self_hosted_mcp_worker/main.py examples/self_hosted_mcp_worker/server.py |