Repository navigation
fix(release): validate managed changepack paths - #787
Merged
Merged
Conversation
Refs #683 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
This was referenced Oct 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #683 (릴리스 메타데이터 회귀 방지)
최신
main의a26bb57928a04091e229d0972048eee39f09eb53에서 분기한 독립 PR입니다. #786은 수정하지 않았으며, 이 PR은 게시되는 패키지나 워크플로를 변경하지 않습니다.요약
.changepacks/config.json은packages/*/*와bindings/*/package.json만 관리하지만, 네 로그에 비관리 private 앱apps/landing/package.json이 들어 있었습니다.main실행 39110891538의release와 39046585305의 이전publish가unresolved changepack update paths: apps/landing/package.json로 실패했습니다. 첫 실행의 검증 5개 작업은 모두 성공했으나 릴리스만 실패했습니다.Patch, 원래 note와 date를 그대로 보존합니다. 유일한 항목이 비관리 앱이었던 문서 전용 로그는 코디네이터 승인 후 삭제합니다.main릴리스 실행에서 Update Versions PR #769가 다시 갱신될 수 있습니다.동작
일반 PR CI의
bun test검색 루트인packages아래에 저장소 소유packages/__tests__/changepack-paths.test.ts를 추가합니다. 게시 패키지에 속하는 테스트나 새 package manifest를 만들지 않습니다. 실제 config와 파일시스템에서 관리 대상 manifest를 구한 뒤, 모든 changepack 로그의 모든changes키가 존재하는 정규 package 경로에 포함되는지 검사합니다. 앱·루트·benchmark·없는 manifest·비정규 경로는 실패하고, 진단은 로그와 키 순으로 결정론적으로 정렬됩니다. 플러그인 테스트의node:fsspy와 분리된 Bun 파일 API를 사용합니다.최신
@changepacks/cli의update --dry-run --remote로 전체 로그의 실제 업데이트 경로 해석을 확인합니다.check만으로는 비관리 로그 키가 누락될 수 있으므로 이를 전체 경로 검증의 대체로 사용하지 않습니다. 실제 update/publish,npm publish, 토큰 사용은 하지 않습니다.삭제 승인된
.changepacks/changepack_log_docs_accuracy.json의 원문을 보존합니다.새로 생기는 오류
새로운 사용자 빌드 오류는 없습니다. 존재하지 않거나 config가 관리하지 않는 package 경로를 changepack에 넣으면 PR의 일반 Bun 테스트가 해당 로그와 키를 표시하며 실패합니다.
남는 한계
워크플로와 게시 패키지는 변경하지 않으며 불필요한 버전 상승 로그도 추가하지 않습니다.
jetli/wasm-pack-action의 공개 최신 릴리스는 확인 시점에도v0.4.0(2022-11-23)이었습니다. Node 20 경고에 대한 워크플로 변경은 이 PR이 아닌 #746 범위입니다. 사용자 검토를 기다리며 자동 병합하지 않습니다.검증
CARGO_BUILD_JOBS=2, CI 미설정, native job 메모리 제한을 사용합니다.@changepacks/cli0.3.6update --dry-run --remote가 동일한 비관리 앱 경로에서 종료 코드 1로 실패했습니다.16 pass / 1 fail로 네 로그의 앱 경로를 정확히 표시했습니다. 수정 후 같은 guard는17 pass / 0 fail입니다.update --dry-run --remote는 관리 패키지 11개의 계획을 모두 해석하고Dry run, no updates will be made와 종료 코드 0을 반환했습니다. 추가 릴리스 오류는 없었습니다.check --remote --format json에서도 관리 패키지 11개가 모두changed: false여서 추가 버전 상승 로그는 필요하지 않습니다.cargo test --workspace4,857개 성공, 스냅샷 변경 없음.verify:dist성공. 최종 독립 코드·QA 검토는APPROVE / HIGH, blocker 없음입니다.publish,landing-next-e2e,react-18,vinext-rsc-css-e2e,benchmark모두 성공. PR에서release/deploy-pages는 정상적으로 skipped입니다.