Skip to content

fix(ci): 몇 주째 빨간 CI 네 개를 초록으로 — 빠진 의존성, 옛 동작을 적은 시험, 새 설치를 깨던 pi 버전 떠돎 - #31

Merged
rainstorm0907 merged 4 commits into
rubato/basefrom
fix/ci-green
Oct 23, 2026
Merged

rainstorm0907 merged 4 commits into
rubato/basefrom
fix/ci-green

Conversation

@rainstorm0907

@rainstorm0907 rainstorm0907 commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

왜

rubato/base 의 CI 네 개가 9월 말~10월 초부터 계속 빨갰습니다. 푸시·머지 때마다 실패 메일이 쌓였고, 진짜 회귀가 생겨도 알아볼 수 없었습니다.

워크플로 마지막 초록 막힌 곳
Dual runtime checkpoints 09-26 의존성 빠짐, T3 원본이 git 이 아님, 리눅스 전용 차이
Stock Pi migration regressions 09-29 지워진 시험 파일을 첫 단계에서 찾다 멈춤, 그 뒤 단계는 한 번도 안 돎
Rubato Remote Stage 9 10-03 옛 동작을 적은 rubato-pi 시험 4개

무엇

CI 설정

  • dual-runtime: pi-server 시험이 읽는 harness/pi-runtime 의존성(jsonc-parser)을 깝니다. t3 잡은 bun 과 루트 의존성(pi-coding-agent)을 깔고, T3 원본을 tarball 대신 핀 커밋의 git 체크아웃으로 받습니다. 시험들이 git show <pin>:<path> 로 원본을 읽습니다.
  • stock-pi: 98dee64 에서 지운 시험 파일을 목록에서 빼고, media-tools 시험이 쓰는 ffmpeg 를 깝니다.

제품 코드(시험이 드러낸 것)

  • harness/pi-server/package.json: pi 1.0.1 묶음(pi-ai·pi-codemode·pi-mcp·pi-telemetry·pi-tui)을 overrides 로 고정합니다. pi-server 는 잠금 파일이 없어서, 지금 새로 설치하면 이들이 1.4.0 으로 올라오고 pi-coding-agent 1.0.1 이 MCP_TYPESCRIPT_PREAMBLE SyntaxError 로 세션을 만들지 못했습니다. 이미 깔린 기기는 로컬 잠금이 1.0.1 이라 영향이 없었고, 새 설치가 깨지는 상태였습니다.
  • harness/pi-server/src/client.mjs: attach 는 세션 런타임을 띄우므로 관리 호출의 30초 대신 세션 마감을 씁니다. 878a998 이 넣은 시험이 이 동작을 적어 두었는데 구현이 없었습니다. 10-23 재시작 로그의 Could not resume … The operation was aborted due to timeout 이 이 30초였습니다.
  • harness/rubato-pi/src/antigravity-id.mjs: Antigravity api id 를 의존성 없는 모듈로 뗍니다. media-tools 시험이 이 id 하나 때문에 pi-ai 를 끌어와 stock 잡에서 파일째 실패했습니다. 런타임 소스 목록(providers/patches.mjs)에도 올렸습니다.
  • T3 overlay: 릴레이에 더한 publishPending 을 업스트림 CloudLink.lifecycle.test.ts 의 가짜 릴레이에도 넣습니다(타입검사 실패). upstream.json 에 원본 해시를 더했습니다.

지금 동작에 맞춘 시험

  • Haiku 5.5 파생 행, dispatch 기본 레인 ultrafast(e15b2e0), restart 마무리 문구, 엔진 안으로 들어간 스케줄러, 숨은 custom 줄을 싣는 transcript(04cac9c·0e4924c98), 자식에 없는 리드 전용 schedule 도구.
  • 리눅스: launchd 경로 시험 3개는 macOS 에서만 돌고(엔진을 launchd 가 맡는 건 맥뿐), PATHEXT 시험은 대소문자 구분 파일시스템에서도 맞게 파일 이름을 PATHEXT 철자로 둡니다. vitest 요약의 색 코드를 벗기고, 라우트 생성기 임시 폴더를 출력과 같은 디스크에 둡니다(EXDEV).

검증

  • 이 PR 의 마지막 커밋 3563ddd39 에서 네 잡 모두 초록: checkpoint, t3-integration(시험·T3 타입검사·번들 빌드), stock-pi, security-license-release.
  • 로컬(Node 24, 깨끗한 환경)에서 Stage 9 scripts/ci-local.sh 전체와 원격 빌드 단계, pi-server 전체, companion, stock 부트 시험을 먼저 돌렸습니다.

- dual-runtime: pi-server 시험이 읽는 harness/pi-runtime 의존성(jsonc-parser)을 깐다. t3 잡은 bun 과
  루트 의존성(pi-coding-agent)을 깔고, T3 원본을 tarball 대신 핀 커밋의 git 체크아웃으로 받는다
  (시험이 git show <pin>:<path> 로 원본을 읽는다).
- stock-pi: 98dee64 에서 지운 context-notes-request-images 시험을 목록에서 뺀다.
- pi-server/package.json: pi 1.0.1 묶음을 overrides 로 고정한다. 잠금 없는 새 설치가 pi-ai·codemode·
  mcp·telemetry·tui 1.4.0 을 받아 pi-coding-agent 1.0.1 이 SyntaxError 로 세션을 못 만들었다.
- client.mjs: attach 는 세션 런타임을 띄우므로 관리 호출의 30초 대신 세션 마감을 쓴다(878a998 의
  시험이 적은 동작). 재시작 뒤 이어 가기가 30초에 끊기던 것.
- 시험을 지금 동작에 맞춘다: Haiku 5.5 파생 행, dispatch 기본 레인 ultrafast, restart 마무리 문구,
  스케줄러가 엔진 안으로 들어간 업데이트, 숨은 custom 줄을 싣는 transcript.
…igravity id 를 읽으며, 자식 도구 비교에 리드 전용 schedule 을 넣는다
@rainstorm0907 rainstorm0907 changed the title fix(ci): 몇 주째 빨간 CI 를 지금 코드에 맞춘다 fix(ci): 몇 주째 빨간 CI 네 개를 초록으로 — 빠진 의존성, 옛 동작을 적은 시험, 새 설치를 깨던 pi 버전 떠돎 Oct 23, 2026
@rainstorm0907
rainstorm0907 marked this pull request as ready for review October 23, 2026 08:38
@rainstorm0907
rainstorm0907 merged commit d2bb332 into rubato/base Oct 23, 2026
4 checks passed
@rainstorm0907
rainstorm0907 deleted the fix/ci-green branch October 23, 2026 08:38
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.

1 participant