Skip to content

Merge pull request #118 from SafeRL-Lab/fix/headless-bridges-slash-v3 #224

Merge pull request #118 from SafeRL-Lab/fix/headless-bridges-slash-v3

Merge pull request #118 from SafeRL-Lab/fix/headless-bridges-slash-v3 #224

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
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: |
python -m pip install --upgrade pip
pip install -e ".[web,autosuggest]"
pip install pytest
- name: Run tests
run: python -m pytest tests/ -x -q --tb=short
package-smoke:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.13"]
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 package
run: |
python -m pip install --upgrade pip
pip install .
- name: Smoke test — all modules importable
run: |
python -c "
import sys, importlib
# Top-level modules from pyproject.toml py-modules
modules = [
'cheetahclaws', 'agent', 'agent_runner', 'bootstrap',
'circuit_breaker', 'cloudsave', 'compaction', 'cc_config',
'context', 'health', 'jobs', 'logging_utils', 'memory',
'providers', 'quota', 'runtime', 'skills', 'subagent',
'tmux_tools', 'tool_registry',
]
# Packages from pyproject.toml packages
packages = [
'tools', 'tools.security', 'tools.fs', 'tools.shell',
'tools.web', 'tools.notebook', 'tools.diagnostics',
'tools.interaction',
'cc_mcp', 'monitor', 'multi_agent', 'plugin', 'skill', 'task',
'voice', 'video', 'checkpoint', 'ui', 'bridges', 'commands',
'modular',
]
failed = []
for mod in modules + packages:
try:
importlib.import_module(mod)
except Exception as e:
failed.append((mod, str(e)))
if failed:
print('FAILED to import:')
for name, err in failed:
print(f' {name}: {err}')
sys.exit(1)
else:
print(f'All {len(modules) + len(packages)} modules imported OK')
"
- name: Smoke test — CLI entry point exists
run: python -c "from cheetahclaws import main; print('Entry point OK')"