[codex] Tame nightly CI gates - #466
Conversation
There was a problem hiding this comment.
APPROVE
요약
이 PR은 CI 워크플로우의 게이트 정책을 완화하여 알려진 호환성 불일치가 있는 경우에도 워크플로우가 계속 실행되도록 하고, 실패 시 노이즈를 줄이는 방향으로 변경합니다.
변경사항 분석
1. Official Suite Sharded (official-suite-sharded.yml)
스케줄된 main 실행의 기본 UTF gate 모드를 strict에서 warn으로 변경합니다.
# 변경 전: 스케줄된 실행은 strict 모드 (mismatch/error 있으면 실패)
UTF_GATE_MODE: ${{ github.event_name == 'schedule' && 'strict' || ... }}
# 변경 후: 모든 실행은 warn 모드 (mismatch/error가 있어도 경고만)
UTF_GATE_MODE: ${{ github.event.inputs.utf_gate_mode || 'warn' }}이는 릴리스 후보 인증 시 명시적으로 utf_gate_mode=strict를 지정하도록 요구하며, 문서에서도 이를 명확히 안내합니다.
2. R3 Failure Ledger (r3-failure-ledger.yml)
fail_on_failures 옵션 파라미터를 추가하여, ledger에 실패가 있어도 기본적으로 워크플로우가 빨간색으로 표시되지 않도록 합니다.
# 변경 전
-Pr3FailureLedgerFailOnFailures=true
# 변경 후
-Pr3FailureLedgerFailOnFailures="${FAIL_ON_FAILURES}"릴리스 후보 인증에서는 fail_on_failures=true를 명시적으로 전달해야 합니다.
3. runOn Lane Pilot (runon-lane-pilot.yml)
strict/extended lane의 mismatch/error 검사를 failures에서 warnings로 변경합니다.
# 변경 전: non-zero mismatch/error는 실패
if strict_mismatch != 0 or strict_error != 0:
failures.append(...)
# 변경 후: non-zero mismatch/error는 경고
if strict_mismatch != 0 or strict_error != 0:
warnings.append(...)중요: coverage regression gate는 여전히 hard failure로 유지됩니다. 이는 기능 회귀를 방지하는 중요한 안전장치입니다.
4. 문서 업데이트 (docs/USAGE.md)
warn모드가 이제pull_request,scheduled main,manual dispatch모두의 기본값임을 명시strict모드는 "release-candidate certification"용임을 명확히 명시fail_on_failures파라미터 설명 추가
Correctness 관점
영향 없는 영역
- MongoDB wire protocol, command handling: 변경 없음
- Query/aggregation semantics: 변경 없음
- Spring/JVM integration: 변경 없음
- Standalone TCP launcher: 변경 없음
- Node adapter: 변경 없음
- Transaction/session/read snapshot semantics: 변경 없음
Support boundary
이 변경은 support boundary를 넓히지 않습니다. 단지 CI 신호 수집 방식을 변경할 뿐이며:
- 알려진 호환성 불일치는 여전히 경고로 보고됨
- strict 인증은 명시적 파라미터로 여전히 가능
Silent pass 문제
unsupported behavior가 silent pass로 바뀌는 문제는 없습니다. 오히려:
- GitHub Actions
::warning::annotation으로 명시적 알림 - Markdown summary에 "Gate warnings" 섹션 추가로 가시성 확보
Release/Package 관점
이 변경은 다음에 영향을 주지 않습니다:
- Maven publish workflow
- npm publish workflow
- Binary package 생성
- Registry 설정
오히려 더 안전합니다:
- 릴리스 후보 인증 시 명시적으로
strict/fail_on_failures=true를 지정해야 하므로 실수 방지 - 일반 스케줄 실행에서 false positive 감소
결론
이 PR은 CI 워크플로우 게이트 정책을 합리적으로 조정하여:
- 알려진 호환성 불일치가 있는 경우에도 유용한 artifact가 계속 생성되도록 함
- 릴리스 후보 인증은 명시적 파라미터로 엄격하게 제어
- Coverage regression과 같은 중요한 gate는 여전히 hard failure로 유지
Blocking issue가 없습니다.
Reviewed by Z.ai GLM via Claude Code Action
Summary
fail_on_failuresswitch to R3 Failure Ledger so scheduled ledger findings still publish artifacts and triage breadcrumbs without turning the workflow red by default.Linked Issues
Root Cause
Recent scheduled certification runs were failing because known deterministic compatibility mismatches were treated as hard nightly gate failures. The shard executions themselves completed and produced useful artifacts; the false-positive signal came from summary/gate policy.
Validation
actionlint .github/workflows/official-suite-sharded.yml .github/workflows/r3-failure-ledger.yml .github/workflows/runon-lane-pilot.ymlgit diff --check