Keep obsidian sync locks from stalling LaunchAgent runs. #194
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| smoke: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: py_compile all modules | |
| run: | | |
| find shared finance_bot/bot knowledge_bot planning_bot unified_bot -name '*.py' \ | |
| ! -path '*/__pycache__/*' -print0 \ | |
| | xargs -0 python -m py_compile | |
| - name: Smoke imports (all bots) | |
| env: | |
| TELEGRAM_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_FINANCE_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_UNIFIED_BOT_TOKEN: ci-smoke-test-token | |
| DEEPSEEK_API_KEY: ci-smoke-test-key | |
| run: SMOKE_INSTALL=1 ./scripts/smoke_imports.sh | |
| - name: Ensure bot venvs | |
| run: bash scripts/ensure_bot_venv.sh finance_bot knowledge_bot | |
| - name: Integration tests (full suite) | |
| env: | |
| TELEGRAM_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_FINANCE_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_UNIFIED_BOT_TOKEN: ci-smoke-test-token | |
| DEEPSEEK_API_KEY: ci-smoke-test-key | |
| DEPLOY_MODE: single | |
| AGENT_LOCALE: ru | |
| VAULT_PATH: ${{ runner.temp }}/ci-vault | |
| run: | | |
| mkdir -p "$VAULT_PATH" | |
| bash scripts/run_tests.sh | |
| capabilities: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Capability presets + onboarding smoke | |
| env: | |
| TELEGRAM_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_FINANCE_BOT_TOKEN: ci-smoke-test-token | |
| TELEGRAM_UNIFIED_BOT_TOKEN: ci-smoke-test-token | |
| DEEPSEEK_API_KEY: ci-smoke-test-key | |
| DEPLOY_MODE: single | |
| AGENT_LOCALE: ru | |
| run: | | |
| bash scripts/ensure_bot_venv.sh finance_bot --recreate | |
| FIN_PY="$PWD/finance_bot/.venv/bin/python" | |
| [ -x "$FIN_PY" ] || { echo "missing finance_bot venv: $FIN_PY" >&2; exit 1; } | |
| export PYTHONPATH="$PWD:$PWD/finance_bot:$PWD/knowledge_bot:$PWD/planning_bot" | |
| export VAULT_PATH="${RUNNER_TEMP}/ci-vault" | |
| mkdir -p "$VAULT_PATH" | |
| "$FIN_PY" -m pip install -q pytest pytest-asyncio | |
| # Golden presets + agent registry (no --verify-all: needs local badge/broker yaml) | |
| "$FIN_PY" scripts/onboarding_smoke.py --golden-planning --golden-finance --agent-sanity | |
| "$FIN_PY" -m pytest tests/test_capabilities.py tests/test_profile_matrix.py \ | |
| tests/test_ui_bindings.py tests/test_ui_patterns.py tests/test_agent_sanity.py \ | |
| tests/test_prompt_preamble.py tests/test_onboarding.py tests/test_no_cyrillic_in_py.py \ | |
| tests/test_messages_locale_parity.py tests/test_domain_messages_locale_parity.py \ | |
| tests/test_prompt_git_policy.py tests/test_prompt_scaffolds.py -q |