fix(build): enforce third-party notice checks before packaging - #252
Conversation
SWBaek
left a comment
There was a problem hiding this comment.
Codex Astra 독립 리뷰 완료 — 병합을 막을 정확성·회귀 문제를 발견하지 못했습니다.
검토 대상: f171386777c9a1dae9a3ad94d1b0f54d017cbec2 (base 408133cdcd14fac62c667310ef7fd18b48f21937). 전체 diff, 고지 생성기와 npm command graph, 두 패키징 script, CI 및 릴리스 workflow를 확인했습니다. 고지 검사는 출력 디렉터리 생성과 build/pack 전에 실행되고, 실패 시 자동 재생성하지 않습니다. 의존성 lockfile과 라이선스 판정 정책은 변경되지 않았습니다.
독립 실행: 저장소 지정 Node 22.22.2 / npm 10.9.7에서 npm run licenses:check 통과, npm exec vitest -- run tests/license-gates.test.ts 8/8 통과. 테스트가 실제 npm 명령과 생성기를 실행하며, 의존성 drift·고지 누락/변경·재생성·CRLF 및 downstream 차단을 검증함을 확인했습니다. git diff --check도 통과했습니다.
CI run 34098082554는 동일 head SHA에서 5개 job 모두 성공했고, 실제 verify:fast/build/VSIX/CLI package 단계까지 확인했습니다. 기존 verify:all 로그에서도 단위 902개, UI 72개, Host 14개와 두 패키징 검증 성공을 확인했습니다. 전체 검증은 불필요하게 반복하지 않았습니다.
사용자가 승인한 범위에 따라 최신 head/check 상태를 다시 확인하고 해당 SHA로 보호하여 병합합니다.
Summary
Outdated or missing third-party notices now fail ordinary PR verification and both CLI/VSIX packaging entrypoints before builds or package output begin. Regenerate the notice inventory from the existing lockfile's installed dependencies (202 → 204 packages); dependency versions and license policy stay unchanged.
verify:fast,package, andpackage:clisharelicenses:check. The CLI release workflow delegates its existing check to the packaging entrypoint, matching VS Code release packaging. Add fixture-based regression tests that execute the real npm command graph and generator for dependency drift, stale/missing notices, regeneration, and valid CRLF notices. Fixes #244.Validation
npm run check(verify:fast: 902 tests, including 8 new gate tests)npm run build:allnpm run licenses:generateandnpm run licenses:checknpm run verify:allon pinned Node 22.22.2 / npm 10.9.7: 902 unit tests, 72 UI tests, 14 Host scenarios, VSIX and CLI package checksContribution rights