실측
2026-08-04 run 30872183940 의 gate(test-full, 3.13) 에서 02:50:33→03:32:31 사이 42분 로그 공백. gw0 이 tests/analysis/test_integration.py::test_all_valuation_axes 실행 중이었고 결국 PASSED 했으나 job 이 60분 한도에 취소됐다. 같은 job 의 직전 그린 런들은 35~38분(같은 커밋 계열). 재실행은 정상 완주 success.
증상 완화 (적용됨)
test-full 에 --timeout=300 (pytest-timeout) 적용. 이제 같은 스톨이 나면 42분이 아니라 5분에 해당 테스트만 실패한다.
남은 근본 원인 추적
- test-full 은
-m 'not requires_data ...' 인데 analysis 통합 테스트가 러너에서 40분대 지연이 가능한 경로(외부 네트워크 재시도 폭주 의심)를 갖는지 코드 직독
- 해당 테스트가 CI 환경(빈 dataDir·네트워크 제한)에서 어떤 fetch 를 시도하는지 실측
- unit 테스트가 네트워크에 닿는 것 자체가 결함이면 경로 차단(offlineGuard 계열)
완료 조건
스톨 재현 경로 특정 + 네트워크 도달이면 fail-fast 차단, 아니면 원인 기록 후 종결
실측
2026-08-04 run 30872183940 의 gate(test-full, 3.13) 에서 02:50:33→03:32:31 사이 42분 로그 공백. gw0 이
tests/analysis/test_integration.py::test_all_valuation_axes실행 중이었고 결국 PASSED 했으나 job 이 60분 한도에 취소됐다. 같은 job 의 직전 그린 런들은 35~38분(같은 커밋 계열). 재실행은 정상 완주 success.증상 완화 (적용됨)
test-full 에
--timeout=300(pytest-timeout) 적용. 이제 같은 스톨이 나면 42분이 아니라 5분에 해당 테스트만 실패한다.남은 근본 원인 추적
-m 'not requires_data ...'인데 analysis 통합 테스트가 러너에서 40분대 지연이 가능한 경로(외부 네트워크 재시도 폭주 의심)를 갖는지 코드 직독완료 조건
스톨 재현 경로 특정 + 네트워크 도달이면 fail-fast 차단, 아니면 원인 기록 후 종결