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 करें।