린트와 테스트가 각각 수동 실행이었고, 어느 조합이 커밋 게이트인지 코드에 기록된 곳이 없었다. ruff 는 dev 의존성에도 없어 전역 환경에서만 돌고 있었다. - verify.ps1: ruff -> pytest 순서로 도는 단일 명령. -SkipLint / -Coverage - pytest.ini: testpaths, pythonpath(. src) 로 맨 pytest 도 동작, 300s 행 가드 - ruff.toml: py313 / line-length 120 / 기본 룰셋 명시 (ruff 업그레이드가 게이트를 조용히 넓히거나 좁히지 못하게) - requirements-dev.txt 에 ruff==0.12.0 핀 린트 18건 정리 (전부 무해하지만 게이트가 통과해야 하므로): - env_clients.py / store_enrichment.py: logger 정의를 임포트 아래로 (E402 15건) - test_sqlite_store.py: lambda 할당 -> def (E731 2건) - test_store_workflow.py: 미사용 임포트 제거 (F401)
13 lines
634 B
Text
13 lines
634 B
Text
# Development / test dependencies (Python 3.13). Includes runtime deps.
|
|
-r requirements.txt
|
|
pytest==8.4.2
|
|
pytest-cov==6.0.0
|
|
pytest-timeout==2.4.0
|
|
# Lint gate in verify.ps1. Pinned because ruff's default rule set moves between
|
|
# releases; ruff.toml states the selection, this states the version.
|
|
ruff==0.12.0
|
|
# Operator-GUI browser (E2E) tests. The Chromium binary is NOT pip-installed:
|
|
# on the build/staging host run `playwright install chromium`, then bundle the
|
|
# browser cache (PLAYWRIGHT_BROWSERS_PATH) into the offline artifact for the
|
|
# air-gapped target. Browser tests skip cleanly when Chromium is absent.
|
|
playwright==1.49.1
|