Skip to content

[codex] Tame nightly CI gates - #466

Merged
midagedev merged 1 commit into
mainfrom
codex/tame-nightly-ci-gates
May 9, 2026
Merged

[codex] Tame nightly CI gates#466
midagedev merged 1 commit into
mainfrom
codex/tame-nightly-ci-gates

Conversation

@midagedev

@midagedev midagedev commented May 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Keep routine Official Suite Sharded scheduled runs in warning mode while preserving strict mode for explicit release-candidate certification.
  • Add an opt-in fail_on_failures switch to R3 Failure Ledger so scheduled ledger findings still publish artifacts and triage breadcrumbs without turning the workflow red by default.
  • Treat runOn pilot mismatch deltas as warnings while keeping coverage/runOn invariants as hard failures.

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.yml
  • git diff --check
  • Simulated the updated gate conditions against the latest failing schedule artifact counts; the known mismatches now produce warnings instead of workflow failure.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@midagedev
midagedev merged commit 8b50aac into main May 9, 2026
8 of 9 checks passed
@midagedev
midagedev deleted the codex/tame-nightly-ci-gates branch May 9, 2026 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Track nightly CI gate false positives

1 participant