Skip to content

ci: 지원 하한 Bun 1.4.0으로 테스트와 배포 번들 스모크를 돈다 - #104

Merged
say8425 merged 3 commits into
mainfrom
ci/bun-floor
Oct 23, 2026
Merged

say8425 merged 3 commits into
mainfrom
ci/bun-floor

Conversation

@say8425

@say8425 say8425 commented Oct 23, 2026

Copy link
Copy Markdown
Owner

요약

지원 하한은 Bun 1.4인데 CI는 .bun-version(1.4.4)으로만 돕니다. 그래서 1.4.3 이후에 생긴 API를 쓰면 타입 검사와 CI를 통과한 채 1.4.0~1.4.2 사용자에게서만 깨집니다(#103 리뷰 지적). 이 PR은 하한을 실제로 확인하는 잡을 더하고, 하한을 README에 적습니다.

  • bun-floor 잡(pr-check.yml)
    • .bun-version Bun으로 bun install --frozen-lockfile과 apps/viewer 빌드를 합니다. 릴리스와 같은 번들입니다.
    • 이어서 BUN_FLOOR(1.4.0) Bun으로 바꾸고, 바뀌었는지 확인한 뒤 bun test와 scripts/smoke-cli.sh를 돕니다.
    • 설치를 하한 Bun으로 하지 않습니다. 잠금 파일 포맷이 하한을 앞서는 날에도 하한과 무관하게 빨개지지 않게 하려는 것입니다.
  • scripts/smoke-cli.sh: 빌드된 dist/cli.js를 PATH의 bun으로 임시 레포지토리에서 띄웁니다. --version, /api/ping, /api/summary, /api/diff(바뀐 파일이 들어 있는지), 페이지, main.js, worker.js를 확인합니다. 원격이 없는 레포지토리라 gh를 부르지 않습니다.
  • README와 번역 4종의 요구 사항 줄에 "Bun 1.4 이상"을 적습니다.
  • ci-release.md, CLAUDE.md: 필수 체크를 6개로 적고, 하한을 올리는 절차를 적습니다.

머지 전에 main 룰셋의 필수 체크에 bun-floor를 더합니다.

테스트 계획

  • 로컬 Bun 1.4.0: bun test 965개 통과
  • 로컬: 1.4.4로 빌드한 번들을 1.4.0에서 scripts/smoke-cli.sh 통과
  • 판별력: cli.ts에 1.4.4 전용 Bun.FetchSession 호출을 넣으면 1.4.0 스모크가 exit 1, 1.4.4에서는 통과
  • actionlint, shellcheck, bun test(1.4.4) 통과
  • CI bun-floor 잡 통과

🤖 Generated with Claude Code

https://claude.ai/code/session_01LnGBvUYgubedmy6AXgRzce

say8425 and others added 2 commits October 23, 2026 18:24
다른 잡은 .bun-version(1.4.4)으로만 돌아, 1.4.3 이후에 생긴 API를 쓰면 타입
검사와 CI를 통과한 채 1.4.0~1.4.2 사용자에게서만 깨진다. bun-floor 잡이
고정 Bun으로 설치·빌드한 뒤 BUN_FLOOR(1.4.0)로 bun test와
scripts/smoke-cli.sh를 돈다. 스모크는 빌드된 dist/cli.js를 임시 레포지토리에서
띄워 ping·summary·diff·페이지·main.js·worker.js가 답하는지 본다.

판별력: cli.ts에 1.4.4 전용 Bun.FetchSession 호출을 넣으면 1.4.0 스모크가
exit 1로 실패하고 1.4.4에서는 통과한다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LnGBvUYgubedmy6AXgRzce
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LnGBvUYgubedmy6AXgRzce
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

PR이 닫혀 프리뷰를 지웠습니다.

cli-smoke.test.ts가 PATH의 bun으로 dist를 다시 빌드하므로, bun test 뒤에 돌던
스모크는 하한 Bun이 빌드한 번들을 보고 있었다. 스모크를 bun test 앞으로 옮긴다.

리뷰 지적도 함께 반영한다.
- 첫 setup-bun에 no-cache: 두 스텝이 같은 경로에 깔려 post가 하한 바이너리를
  고정 버전 키로 저장할 수 있다.
- 스모크: curl에 --max-time 30, diff 본문을 변수로 받아 grep(pipefail SIGPIPE
  회피), 커밋에 commit.gpgsign=false.
- ci-release.md: 스모크 순서의 이유, 테스트 코드에서만 빨개질 때의 처리.
- apps/viewer/README.md(npm 페이지)에도 Bun 1.4 이상을 적는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LnGBvUYgubedmy6AXgRzce
@say8425
say8425 merged commit 3133d58 into main Oct 23, 2026
9 checks passed
@say8425
say8425 deleted the ci/bun-floor branch October 23, 2026 09:37
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