메인 콘텐츠로 건너뛰기

CI 파이프라인

CI는 main에 대한 모든 push와 모든 pull request에서 실행됩니다. 관련 없는 영역만 변경되었을 때 비용이 큰 작업을 건너뛰도록 스마트 범위 지정을 사용합니다.

작업 개요

작업목적실행 시점
preflight문서 전용 변경, 변경된 범위, 변경된 확장, 그리고 CI 매니페스트 빌드를 감지초안이 아닌 모든 push 및 PR에서 항상 실행
security-fast비공개 키 감지, zizmor를 통한 워크플로 감사, 프로덕션 의존성 감사초안이 아닌 모든 push 및 PR에서 항상 실행
build-artifactsdist/와 Control UI를 한 번 빌드하고, 후속 작업을 위한 재사용 가능한 아티팩트를 업로드Node 관련 변경
checks-fast-core번들/플러그인 계약/프로토콜 검사 같은 빠른 Linux 정확성 레인Node 관련 변경
checks-fast-extensionschecks-fast-extensions-shard 완료 후 확장 샤드 레인 집계Node 관련 변경
extension-fast변경된 번들 plugin에 대해서만 집중 테스트 실행확장 변경이 감지될 때
checkCI의 기본 로컬 게이트: pnpm check + pnpm build:strict-smokeNode 관련 변경
check-additional아키텍처 및 경계 가드와 게이트웨이 watch 회귀 하네스Node 관련 변경
build-smoke빌드된 CLI 스모크 테스트 및 시작 메모리 스모크Node 관련 변경
checks더 무거운 Linux Node 레인: 전체 테스트, 채널 테스트, 그리고 push 전용 Node 22 호환성Node 관련 변경
check-docs문서 포맷팅, lint, 깨진 링크 검사문서가 변경되었을 때
skills-pythonPython 기반 Skills에 대한 Ruff + pytestPython Skills 관련 변경
checks-windowsWindows 전용 테스트 레인Windows 관련 변경
macos-node공유 빌드 아티팩트를 사용하는 macOS TypeScript 테스트 레인macOS 관련 변경
macos-swiftmacOS 앱용 Swift lint, 빌드, 테스트macOS 관련 변경
androidAndroid 빌드 및 테스트 매트릭스Android 관련 변경

Fail-Fast 순서

작업은 비용이 큰 작업이 실행되기 전에 저렴한 검사가 먼저 실패하도록 순서가 정해져 있습니다.
  1. preflight가 어떤 레인이 아예 존재하는지를 결정합니다. docs-scopechanged-scope 로직은 독립 작업이 아니라 이 작업 내부의 단계입니다.
  2. security-fast, check, check-additional, check-docs, skills-python은 더 무거운 아티팩트 및 플랫폼 매트릭스 작업을 기다리지 않고 빠르게 실패합니다.
  3. build-artifacts는 빠른 Linux 레인과 겹쳐 실행되므로, 후속 소비자는 공유 빌드가 준비되는 즉시 시작할 수 있습니다.
  4. 그다음 더 무거운 플랫폼 및 런타임 레인이 분기됩니다: checks-fast-core, checks-fast-extensions, extension-fast, checks, checks-windows, macos-node, macos-swift, android.
범위 로직은 scripts/ci-changed-scope.mjs에 있으며 src/scripts/ci-changed-scope.test.ts의 단위 테스트로 검증됩니다. 별도의 install-smoke 워크플로는 자체 preflight 작업을 통해 동일한 범위 스크립트를 재사용합니다. 이는 더 좁은 changed-smoke 신호에서 run_install_smoke를 계산하므로, Docker/install smoke는 설치, 패키징, 컨테이너 관련 변경에 대해서만 실행됩니다. push에서는 checks 매트릭스에 push 전용 compat-node22 레인이 추가됩니다. pull request에서는 이 레인이 건너뛰어지고, 매트릭스는 일반 테스트/채널 레인에 집중된 상태를 유지합니다.

러너

러너작업
blacksmith-16vcpu-ubuntu-2404preflight, security-fast, build-artifacts, Linux 검사, 문서 검사, Python Skills, android
blacksmith-32vcpu-windows-2025checks-windows
macos-latestmacos-node, macos-swift

로컬 대응 명령

pnpm check          # types + lint + format
pnpm build:strict-smoke
pnpm test:gateway:watch-regression
pnpm test           # vitest tests
pnpm test:channels
pnpm check:docs     # docs format + lint + broken links
pnpm build          # CI artifact/build-smoke 레인이 중요할 때 dist 빌드