Model upgrade: - qwen2.5:14b → qwen3.5:latest across config, tools, and docs - Added qwen3.5 to multimodal model registry Self-hosted Gitea CI: - .gitea/workflows/tests.yml: lint + test jobs via act_runner - Unified Dockerfile: pre-baked deps from poetry.lock for fast CI - sitepackages=true in tox for ~2s dep resolution (was ~40s) - OLLAMA_URL set to dead port in CI to prevent real LLM calls Test isolation fixes: - Smoke test fixture mocks create_timmy (was hitting real Ollama) - WebSocket sends initial_state before joining broadcast pool (race fix) - Tests use settings.ollama_model/url instead of hardcoded values - skip_ci marker for Ollama-dependent tests, excluded in CI tox envs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
1.0 KiB
YAML
41 lines
1.0 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
# Runs in timmy-time:latest — tox, ruff, and all deps are pre-installed.
|
|
# Rebuild the image only when poetry.lock changes:
|
|
# docker build -t timmy-time:latest .
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Lint (ruff via tox)
|
|
run: tox -e lint
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
needs: lint
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Run tests (via tox)
|
|
env:
|
|
OLLAMA_URL: "http://127.0.0.1:1"
|
|
run: tox -e ci
|
|
- name: Test summary
|
|
if: always()
|
|
run: |
|
|
if [ -f reports/junit.xml ]; then
|
|
python3 -c "
|
|
import xml.etree.ElementTree as ET
|
|
root = ET.parse('reports/junit.xml').getroot()
|
|
t,f,e,s = (root.attrib.get(k,'0') for k in ('tests','failures','errors','skipped'))
|
|
print(f'Tests: {t} | Failures: {f} | Errors: {e} | Skipped: {s}')
|
|
"
|
|
fi
|