POSA_Copyrighter/requirements-dev.txt
changukyu bc14cd2177 chore: 단일 verify 게이트 신설 (pytest.ini + ruff.toml + verify.ps1)
린트와 테스트가 각각 수동 실행이었고, 어느 조합이 커밋 게이트인지 코드에
기록된 곳이 없었다. 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)
2026-08-08 09:47:57 +09:00

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