feat: add built-in MCPDriver with stdio and Streamable HTTP transports #123
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: ["main", "copilot/**"] | |
| pull_request: | |
| branches: ["main"] | |
| workflow_call: | |
| jobs: | |
| test: | |
| name: "Python ${{ matrix.python-version }}" | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: pip install -e ".[dev]" | |
| - name: Lint (ruff check) | |
| run: ruff check src/ tests/ examples/ | |
| - name: Format check (ruff format) | |
| run: ruff format --check src/ tests/ examples/ | |
| - name: Type check (mypy) | |
| run: mypy src/ | |
| - name: Test (pytest) | |
| run: python -m pytest -q --cov=agent_kernel --cov-report=term-missing | |
| - name: Examples | |
| run: | | |
| python examples/basic_cli.py | |
| python examples/billing_demo.py | |
| python examples/http_driver_demo.py | |
| conformance_stub: | |
| name: "Weaver Spec Conformance Stub (v0.1.0)" | |
| runs-on: ubuntu-latest | |
| needs: test | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install dependencies | |
| run: pip install -e ".[dev]" | |
| # Placeholder: activate once dgenio/weaver-spec#4 ships the conformance runner. | |
| # weaver-spec and weaver-contracts are published on PyPI. | |
| # weaver_contracts.conformance does not yet exist (dgenio/weaver-spec#4). | |
| # Replace this step with: | |
| # pip install weaver-contracts # PyPI dist name uses a hyphen | |
| # python -m weaver_contracts.conformance --target agent_kernel | |
| - name: weaver-spec conformance suite (stub) | |
| run: | | |
| echo "weaver-contracts 0.2.0 is on PyPI; weaver_contracts.conformance runner not yet available (dgenio/weaver-spec#4)." | |
| echo "Stub passes. Activate when dgenio/weaver-spec#4 ships." |