name: CI on: push: branches: [main] pull_request: branches: [main] concurrency: group: ci-${{ github.ref }} cancel-in-progress: true env: SRC: >- run_agent.py model_tools.py toolsets.py cli.py hermes_state.py batch_runner.py tools/ hermes_cli/ gateway/ agent/ cron/ jobs: lint: runs-on: ubuntu-latest timeout-minutes: 3 steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 - run: uvx ruff check $SRC - run: uvx ruff format --check $SRC test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - run: uv python install 3.11 - run: | uv venv .venv --python 3.11 source .venv/bin/activate uv pip install -e ".[all,dev]" - run: | source .venv/bin/activate python -m pytest tests/ -q --ignore=tests/integration --tb=short env: OPENROUTER_API_KEY: "" OPENAI_API_KEY: "" NOUS_API_KEY: ""