Skip to content

fix: run release-gate maintenance checks before merge - #1438

Merged
kang-heewon merged 1 commit into
trunkfrom
issue-1306-release-gates
Jul 22, 2026
Merged

fix: run release-gate maintenance checks before merge#1438
kang-heewon merged 1 commit into
trunkfrom
issue-1306-release-gates

Conversation

@kang-heewon

@kang-heewon kang-heewon commented Jul 21, 2026

Copy link
Copy Markdown
Member

Outcome

Release-gate maintenance changes now select the publish verification profile before merge and run the same authoritative contract suite used by the Release workflow. A single inspectable inventory owns the 39 release-gate specs, their implementation entrypoints, transitive support scripts, workflow files, and policy inputs.

The root test:release-gates command delegates to the verification manifest, while ordinary package-source changes retain proportional spine verification. Direct bundle-policy inputs also activate their owning bundle-size gate.

CI surfaced newly published advisories while this PR was running. Repository overrides select patched Jaeger propagator and SVGO releases; the incompatible sharp advisory has a reviewed, owner-assigned exception expiring 2026-08-05 while Next.js adopts sharp 0.35. The two packed-install smoke cases that exceeded GitHub's default 10-second test limit retain bounded 30-second limits.

Verification

  • pnpm test:release-gates — 39/39 files, 865/865 tests
  • focused verification/workflow contracts — 5/5 files, 226/226 tests
  • pnpm check — passed, 21/22 applicable gates
  • pnpm typecheck — 225/225 tasks
  • pre-push pnpm test — 226/226 tasks
  • pre-push pnpm typecheck — 225/225 tasks
  • changeset gate — no publishable package behavior
  • production dependency audit and policy gate — no high-severity blockers
  • independent correctness and architecture reviews — APPROVE / CLEAR
  • adversarial classification and mutation QA — CLEAR

Review notes

  • CI and Release workflows continue to use the shared manifest runner; neither workflow carries a duplicate test list.
  • Maintenance classification is exact and fail-closed, including workflow and policy inputs, while ordinary source changes remain on the smaller profile.
  • Inventory contract tests verify sorting, file existence, manifest-entrypoint equality, recursive support-script closure, root alias ownership, and owning bundle-gate activation.

Fixes #1306

Summary by CodeRabbit

  • 새 기능

    • 릴리스 게이트 검증을 실행할 수 있는 전용 테스트 명령이 추가되었습니다.
    • 릴리스 관련 파일 변경 시 필요한 검증 항목이 자동으로 선택됩니다.
    • 번들 크기 기준 파일과 패키지 카탈로그 변경 시 관련 검증이 실행됩니다.
  • 버그 수정

    • 변경된 파일 유형에 따른 검증 프로필 분류와 실행 조건을 보완했습니다.
    • 릴리스 게이트 및 패키지 검증의 적용 범위와 실행 안정성을 개선했습니다.
  • 테스트

    • 릴리스 워크플로와 검증 매니페스트에 대한 검증 범위를 확대했습니다.
    • 일부 패키징 테스트의 실행 시간 제한을 조정했습니다.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@kang-heewon, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 56 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 36beef10-cbd2-4f96-9914-250fd0a93dcd

📥 Commits

Reviewing files that changed from the base of the PR and between 63906d7 and 3e5d448.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • package.json
  • pnpm-workspace.yaml
  • scripts/release-gate-maintenance.mts
  • scripts/security-allowlist-metadata.json
  • scripts/tests/ci-workflow.spec.ts
  • scripts/tests/first-success-verify.spec.ts
  • scripts/tests/package-entrypoint-smoke.spec.ts
  • scripts/tests/release-workflow.spec.ts
  • scripts/tests/verification-change-classifier.spec.ts
  • scripts/tests/verification-manifest.spec.ts
  • scripts/verification-change-classifier.mts
  • scripts/verification-manifest.mts
📝 Walkthrough

Walkthrough

릴리즈 게이트 유지보수 경로를 정의하고 publish 검증 프로필에 조건부 릴리즈 게이트 테스트를 추가했습니다. 경로 분류, 매니페스트 적용성, 워크플로 계약, 실행 명령 및 관련 테스트가 함께 갱신되었습니다.

Changes

릴리즈 게이트 유지보수 검증

Layer / File(s) Summary
유지보수 경로 인벤토리
scripts/release-gate-maintenance.mts
릴리즈 게이트 테스트·구현·워크플로·정책 입력 경로를 상수로 정의하고 유지보수 경로 조회 함수를 추가했습니다.
검증 라우팅과 매니페스트
scripts/verification-change-classifier.mts, scripts/verification-manifest.mts
유지보수 경로를 publish 프로필로 분류하고, 관련 변경 시 release-gate-tests를 적용하며 계약 테스트를 억제하도록 매니페스트 조건을 변경했습니다. 번들 크기 검사 대상 입력도 확장했습니다.
릴리즈 게이트 실행 설정
package.json, pnpm-workspace.yaml, scripts/security-allowlist-metadata.json
test:release-gates 루트 명령을 추가하고 패키지 오버라이드 및 감사 허용 목록을 갱신했습니다.
분류 및 매니페스트 계약 테스트
scripts/tests/*
릴리즈 게이트 경로 발견, 프로필 분류, 적용성, 워크플로 계약 및 패키지 엔트리포인트 테스트를 갱신했습니다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ChangedFiles
  participant VerificationClassifier
  participant VerificationManifest
  participant ReleaseGateTests
  ChangedFiles->>VerificationClassifier: 릴리즈 게이트 유지보수 경로 전달
  VerificationClassifier->>VerificationManifest: publish 프로필 분류
  VerificationManifest->>ReleaseGateTests: 적용 가능한 release-gate-tests 명령 생성
  ReleaseGateTests->>ChangedFiles: 지정된 게이트 테스트 경로 실행
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning 릴리즈 게이트와 무관한 pnpm 오버라이드, 보안 allowlist 메타데이터, smoke test timeout 조정이 함께 포함되어 있습니다. 릴리즈 게이트 관련 스크립트·매니페스트·워크플로 계약 변경만 남기고, 의존성/보안/timeout 조정은 별도 PR로 분리하세요.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed 루트 test:release-gates와 매니페스트/분류/계약 테스트가 추가되어 PR·Release 경로를 릴리즈 유지보수로 연결합니다.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 release-gate 유지보수 검사를 merge 전에 실행하도록 하는 핵심 변경을 간결하고 정확하게 요약합니다.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue-1306-release-gates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown

📊 Benchmark Results

✅ All benchmarks passed

Benchmark p75 Threshold Baseline vs Baseline Status Notes
CrocoApp constructor 9.2μs 30.0ms 8.2μs +12.3% -
CrocoApp lambdaHandler (10 controllers) 322.6μs 50.0ms 258.4μs +24.8% -
Lambda cold-start simulation 468.4μs 80.0ms 418.1μs +12.0% -
Lambda cold-start with headers 402.3μs 80.0ms 369.7μs +8.8% -
Lambda cold-start with binary body 387.2μs 80.0ms 339.1μs +14.2% -
Lambda cold-start with query params 332.3μs 80.0ms 301.3μs +10.3% -
Lambda cold-start with authorizer context 330.3μs 80.0ms 299.8μs +10.2% -
Lambda cold-start realistic scenario 331.1μs 80.0ms 299.2μs +10.7% -
EventBusConfig.start (10 handlers) 1.7μs 10.0ms 1.4μs +16.1% -
EventPublisher.publishNow single event 1.8μs 2.0ms 1.7μs +7.2% -
DefaultHandlerResolver.resolve × 10 0.1μs 5.0ms 0.1μs +0.0% -
Container.get singleton (cold) 77.9μs 5.0ms 70.3μs +11.0% -
Container.register × 50 components 3.6ms 10.0ms 3.2ms +10.2% -
Container.validate (50 components) 4.0ms 20.0ms 3.4ms +19.1% -
Container.get singleton (warm) 1.7μs 500.0μs 1.6μs +1.3% -
TelemetryRuntime.init (lambda preset) 2.3μs 200.0ms 1.1ms -99.8% -
lambdaPreset config creation 1.5μs 2.0ms 1.4μs +4.3% -

Updated: 2026-07-22T00:09:06.508Z · Commit: 98254d0

@kang-heewon
kang-heewon force-pushed the issue-1306-release-gates branch 2 times, most recently from 6cbac9c to 63906d7 Compare July 21, 2026 22:53
@kang-heewon
kang-heewon force-pushed the issue-1306-release-gates branch from 63906d7 to 2fc87dd Compare July 21, 2026 23:10
@kang-heewon
kang-heewon force-pushed the issue-1306-release-gates branch from 2fc87dd to 3e5d448 Compare July 22, 2026 00:00
@kang-heewon
kang-heewon merged commit 79b4312 into trunk Jul 22, 2026
9 checks passed
@kang-heewon
kang-heewon deleted the issue-1306-release-gates branch July 22, 2026 00:52
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.

[release] Run release-gate maintenance tests before merge

1 participant