Skip to content

rc.4 준비: Windows 체크아웃의 LICENSE 줄바꿈 수정과 version 올리기 - #94

Merged
SonAIengine merged 2 commits into
mainfrom
fix/windows-license-line-endings
Oct 25, 2026
Merged

SonAIengine merged 2 commits into
mainfrom
fix/windows-license-line-endings

Conversation

@SonAIengine

Copy link
Copy Markdown
Contributor

무엇이 깨졌나

v0.1.0-rc.3 Release가 Assemble release bundle에서 멈췄다(실패한 run). 5개 target build는 모두 통과했고, npm/scripts/verify-release.mjs가 platform package tarball 안의 LICENSE를 레포 원본과 해시로 대조하는 지점에서 끊겼다.

원인은 GitHub Windows runner의 core.autocrlf=true다. 체크아웃이 LICENSE를 CRLF로 바꿔 놓으므로 그 runner에서 포장된 @xgen-ai/cli-win32-x64만 다른 바이트를 담는다. 조립 runner는 LF 원본을 들고 비교하니 불일치가 난다.

같은 이유로 THIRD_PARTY_LICENSES.txt와 crates/xgen-cli/licenses/*는 이미 -text를 받아 뒀는데 LICENSE가 빠져 있었다.

확인

실제 runner와 같은 조건(core.autocrlf=true)으로 체크아웃해 전후를 비교했다.

체크아웃 LICENSE sha256 CR 바이트
v0.1.0-rc.3 1eb85fc97224598d… 201
이 브랜치 c71d239df91726fc… 0

위 값이 실패한 run이 보고한 actual과, 아래 값이 expected와 같다.

version

v0.1.0-rc.3 tag는 게시되지 않았고 tag는 immutable이라 번호를 재사용할 수 없다. 또 publisher는 tag의 peeled commit이 main head와 같을 때만 진행하므로, 수정이 main에 들어가면 그 tag로는 다시 돌릴 수 없다. 그래서 같은 RC3 Developer Preview 내용을 0.1.0-rc.4로 올렸다.

문서의 "RC3"는 이 Developer Preview 세대 이름으로 두고 게시되는 artifact version만 올렸다. 그 경계는 docs/development/rc3-release-candidate.md에 적었다. ADR과 지난 평가 기록의 0.1.0-rc.3은 당시 기록이므로 그대로 둔다.

  • THIRD_PARTY_LICENSES.txt는 scripts/check-third-party-licenses.sh --write로 다시 만들었고 workspace crate 11개의 version 줄만 바뀌었다
  • scripts/check-rc3-public-docs.sh가 docs/getting-started.md의 설치 명령 version을 문자열로 고정하고 있어 함께 올렸다

로컬 검사

  • cargo fmt --all -- --check, cargo test --workspace --locked 통과(실패 0)
  • sh scripts/check-third-party-licenses.sh --check 통과
  • npm ci --ignore-scripts, npm run check(@xgen-ai/cli 0.1.0-rc.4, 5 platforms), npm test(14/14) 통과
  • sh scripts/check-rc3-public-docs.sh, sh scripts/check-release-workflow.sh, sh scripts/check-npm-distribution-workflow.sh 통과

Rust source는 바뀌지 않아 clippy는 돌리지 않았고 main CI의 Quality / Linux에 맡긴다.

🤖 Generated with Claude Code

SonAIengine and others added 2 commits October 24, 2026 19:18
npm platform package 6개는 각자의 빌드 러너에서 포장되고, 번들을 조립하는
러너가 tarball 안의 LICENSE를 레포 원본과 해시로 대조한다. Windows 러너는
core.autocrlf=true 라서 체크아웃이 LICENSE를 CRLF로 바꿔 놓고, win32-x64
tarball만 다른 바이트를 담아 v0.1.0-rc.3 릴리스가 조립 단계에서 멈췄다.

같은 이유로 이미 -text 를 받은 THIRD_PARTY_LICENSES.txt 와
crates/xgen-cli/licenses/* 와 달리 LICENSE 가 빠져 있었다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
v0.1.0-rc.3 tag는 release workflow가 bundle 조립 단계에서 멈춰 게시되지
않았고, tag는 immutable이라 같은 번호를 다시 쓸 수 없다. 내용은 같은 RC3
Developer Preview에 Windows 체크아웃의 LICENSE 줄바꿈 수정 하나가 더해진
것이다.

문서의 "RC3"는 이 Developer Preview 세대 이름으로 두고 게시되는 artifact
version만 올렸다. 그 경계를 rc3-release-candidate.md에 적었다. ADR과 지난
평가 기록의 0.1.0-rc.3은 당시 기록이므로 그대로 둔다.

THIRD_PARTY_LICENSES.txt는 scripts/check-third-party-licenses.sh --write로
다시 만들었고 workspace crate 11개의 version 줄만 바뀌었다.
scripts/check-rc3-public-docs.sh가 getting-started의 설치 명령 version을
문자열로 고정하고 있어 함께 올렸다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@SonAIengine
SonAIengine merged commit d36a278 into main Oct 25, 2026
3 checks passed
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