Skip to content

chore(ci): develop PR pytest·Ruff 자동 검증 추가 #34

Description

@hywznn

목표

AI 앱의 핵심 회귀와 환경별 선택 검증을 PR 단계에서 구분해 확인할 수 있는 자동 CI를 구축합니다.

완료된 작업

Core PR CI

  • .github/workflows/ci.yml 추가
  • develop, main 대상 Pull Request에서 자동 실행
  • Python 3.12와 고정 uv 버전 사용
  • uv sync --frozen --extra dev로 의존성 재현
  • 외부 LLM·OCR·Intent 모델을 비활성화한 결정론적 환경 구성
  • 로컬 .env를 읽지 않도록 FOWOCO_ENV_FILE=/dev/null 적용
  • core marker 제외 기준 명시
  • app + tests Ruff 오류 0건
  • 핵심 pytest 기준선 통과

Qdrant 계약

  • language-retrieval 선택 의존성 별도 설치
  • Qdrant 관련 테스트에 qdrant_integration marker 적용
  • Qdrant 계약 전용 Ubuntu Job 구성
  • 관련 계약 테스트 8개 통과

Windows OCR 계약

  • windows_ocr marker 등록
  • non-Windows에서 PowerShell 부재를 명시적으로 구분
  • Windows runner 전용 Job 구성
  • Secret 없이 로컬 기록 서버를 사용하는 계약 테스트 2개 통과

품질 경계와 Workflow 운영

  • AI 앱 app + tests를 PR Ruff 기준으로 고정
  • 내장 hwp-editor와 운영 스크립트 기존 부채를 앱 판정에서 분리
  • PR CI와 main 배포 Workflow 책임 분리
  • 동시 갱신 시 이전 CI 실행 자동 취소
  • Core·Qdrant·Windows OCR Check를 각각 독립된 이름으로 표시

최종 검증

Core pytest       655 passed, 3 skipped, 16 deselected
Qdrant contract     8 passed
PowerShell OCR       2 passed
Ruff app + tests     passed
GitHub Actions       3 checks passed

의도적으로 분리한 범위

  • BERT·A.X·LLM 실모델 검증은 Token과 모델 캐시가 필요한 Staging/수동 Smoke Test로 유지
  • Required Check 강제는 현재 저장소 보호 규칙 정책에서 사용하지 않으므로 이번 코드 작업에서 제외
  • hwp-editor·운영 스크립트의 전체 Ruff 정리는 별도 소유권 범위

연결 PR

PR #67이 main에 병합되면 이 이슈를 완료 처리합니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:platformFastAPI Runtime·배포·공통 기반status:in-review구현을 마치고 리뷰 또는 병합 대기type:toolingCI·검증·개발 도구 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions