fix: keep automatic CI within its runtime budget - #1611
Merged
Conversation
📝 WalkthroughWalkthroughCI에서 실제 PostgreSQL/Redis 검증을 별도 작업으로 분리하고, 변경 파일 기반 검증 매니페스트와 PR CI 성능 예산 검사를 추가했다. 관련 워크플로우 조건, 계약 테스트, 릴리즈 게이트 유지보수 목록도 갱신했다. ChangesCI 검증 및 매니페스트 개편
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant PullRequest
participant changes
participant VerificationManifest
participant CIWorkflow
participant RealResourceTests
PullRequest->>changes: 변경 파일 분류
changes->>VerificationManifest: 프로파일 및 변경 범위 전달
VerificationManifest->>CIWorkflow: 검증 명령과 applicable 값 생성
CIWorkflow->>RealResourceTests: 실제 리소스 조건에 따른 작업 실행
RealResourceTests->>PullRequest: 검증 결과 반환
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. Comment |
📊 Benchmark Results✅ All benchmarks passed
Updated: 2026-07-29T15:35:18.245Z · Commit: ca3c65b |
kang-heewon
force-pushed
the
agent/keep-ci-under-10m
branch
from
July 29, 2026 15:03
64b19ac to
3afb0d3
Compare
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Around line 530-534: Update the real-resource-tests job to add a job-level
permissions block granting only read access needed for checkout and tests,
matching the least-privilege pattern used by ecosystem-advisory. Do not inherit
the workflow’s broader default token permissions.
In `@scripts/ci-performance-budget.mts`:
- Around line 47-51: Update jobSection to match job keys anchored at the start
of a job-definition line, avoiding matches inside indented steps such as
windows-scaffold outputs. Change the filter validation around jobSection and the
checks at lines 80-89 to explicitly inspect the changes job section, preserving
the existing mutant test behavior that replaces filters within changes.
- Around line 158-180: Extract the duplicated ordinary and maintenance manifest
setup from main into exported fixture factory function(s) in this module, then
reuse those factories in both main() and
scripts/tests/ci-performance-budget.spec.ts. Preserve the existing manifest
values and ensure the contract test no longer defines an independent copy.
In `@scripts/verification-manifest.mts`:
- Around line 576-629: Define a single CORE_COVERAGE_PACKAGES constant
containing the packages currently listed in the core coverage command, then
derive both the command’s pnpm --filter arguments and affectsCoreCoverage’s
directory matching from it. Update the existing affectsCoreCoverage symbol and
core-coverage command configuration to use these derived values, preserving the
current package set and coverage behavior.
- Around line 464-478: Update the publish-profile verification path around the
alpha-release-smoke manifest entry and pnpm verify:publish invocation so it
receives the changed-file list, matching the CI workflow behavior. Ensure the
classifier does not mark alpha-release-smoke as not_applicable during release
validation, while preserving the existing command and artifact configuration.
- Around line 54-60: Update affectsPackageEntrypoints to include changes
anywhere under each package’s src directory, not only src/index.ts, while
continuing to exclude create-croco-app and preserve existing manifest, lockfile,
workspace, Turbo, Node version, and smoke-script matches.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 04ba4241-5acf-44d5-9c67-db697e22bb9b
📒 Files selected for processing (8)
.github/workflows/ci.ymlscripts/ci-performance-budget.mtsscripts/release-gate-maintenance.mtsscripts/tests/ci-performance-budget.spec.tsscripts/tests/ci-workflow.spec.tsscripts/tests/package-entrypoint-smoke.spec.tsscripts/tests/verification-manifest.spec.tsscripts/verification-manifest.mts
5 tasks
This was referenced Jul 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Automatic PR and trunk CI now scopes build, typecheck, and test work to the changed package graph. Windows scaffold, real-resource, docs, and ecosystem advisory checks run only when their paths or invocation mode require them, while manual dispatch keeps the complete verification path available.
A repository performance contract budgets routine automatic CI at 9.5 minutes and rejects workflow changes that would broaden the critical path beyond the 10-minute target.
Verification
validate: passed in 7m39snode --experimental-strip-types scripts/verification-command.mts --id ci-performance-budget: 9.5/10-minute design budget passedReview gates
Residual risk
The hosted average should be confirmed over the next 5–10 routine CI runs. Scaffold- or docs-heavy changes can still take longer than routine changes, but the ordinary automatic path is budgeted below 10 minutes and the full manual safety path remains available.