feat: include sender name in claw messages for group context #263
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: Tests | |
| on: | |
| push: | |
| branches: ["*"] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13", "3.14"] | |
| fail-fast: false | |
| services: | |
| nats: | |
| image: nats:latest | |
| ports: | |
| - 4222:4222 | |
| - 8222:8222 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Cache uv dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/uv | |
| key: ${{ runner.os }}-uv-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml', '**/uv.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-uv-${{ matrix.python-version }}- | |
| ${{ runner.os }}-uv- | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libssl-dev | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v2 | |
| - name: Install project dependencies | |
| run: uv sync --extra dev --extra knowledge | |
| - name: Run all tests (core, NATS, and API-dependent) | |
| env: | |
| # Override NATS_SERVERS for GitHub Actions (conftest.py will use this if set) | |
| NATS_SERVERS: "nats://localhost:4222" | |
| # Set API key from GitHub Secrets (takes priority over .env) | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| run: | | |
| # List all tests for debugging | |
| uv run pytest -v tests/ --collect-only -q 2>&1 | tail -20 | |
| # Run tests with timeout, skipping tests that require external services or have async cleanup issues | |
| uv run pytest -v tests/ \ | |
| --timeout=60 \ | |
| --timeout-method=thread \ | |
| --ignore=tests/test_learning.py \ | |
| --ignore=tests/test_unified_mcp.py \ | |
| --ignore=tests/test_context_isolation.py \ | |
| --ignore=tests/test_team_transfer_and_call_agent.py \ | |
| --ignore=tests/test_nats_streaming.py \ | |
| --ignore=tests/test_remote_agent.py \ | |
| --ignore=tests/test_use_remote_toolset.py \ | |
| --ignore=tests/test_toolsets.py \ | |
| --ignore=tests/test_knowledge.py \ | |
| --tb=short \ | |
| --junit-xml=test-results.xml | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results-py${{ matrix.python-version }} | |
| path: test-results.xml | |
| retention-days: 5 |