Continuous integration
Pull requests औरmain पर pushes .github/workflows/ci.yml चलाते हैं:
- Ruff —
ruff check src/ tests/ - Pytest gate — MCP, OpenClaw/Hermes, clipboard, agent hub, और LLM fallback suites (जैसे-जैसे अन्य modules stabilize हों, इसे बढ़ाएँ)
pytest tests/ के साथ पूरा suite चला सकते हैं।
Docs changes को local docs reliability checker भी pass करना चाहिए:
Tests चलाना
एक dev checkout से:Extreme production-readiness constraints
Critical changes के लिए, Arka से opt-in उच्च-कठोरता वाला production-readiness preset माँगें:pytest और ruff शामिल हैं):
Test suite overview
tests/ directory area के अनुसार organized है:
Routing और NL parsing
LLM और providers
Vision और media
Integrations
Observability
नए tests लिखना
Tests कोtest_ prefix के साथ tests/ में रखें। मौजूदा patterns का पालन करें:
arka.routing.symbolic helpers या arka.router.route() का उपयोग करें। जब tests को network hit नहीं करना चाहिए तो external APIs (LLM, web search) को mock करें।
Linting
ruff [dev] extra में शामिल है।
Local verification scripts
pytest के अलावा, repo में helper scripts शामिल हैं:कुछ tests को optional extras (
[chat], [charts], [drawings]) या API keys की आवश्यकता होती है। जिन tests को network access की आवश्यकता होती है, वे आमतौर पर mock किए जाते हैं — यदि कोई test import पर fail हो, तो पहले matching extra install करें।