fix(ci): release-guard 스크립트를 default branch에서 로드 - #31
Merged
Conversation
…he tag The guard checked out the tag and ran .github/scripts/release-guard.sh from it — but tags predating the guard don't ship the script (v1.4.0 dispatch failed with exit 127, script not found), and validation logic should come from the current default branch anyway, not from whatever the tag froze. Two checkouts now: guard-src (default branch, supplies the script) and release-src (the tag, the code under validation); the script runs with working-directory: release-src. release.yml's self-check is unaffected — its workspace is the release commit, which always carries the script. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FavJfhdcNAHZKWvmSBVLYZ
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.
문제
머지 직후 workflow_dispatch로 v1.4.0을 실검증하니 exit 127 실패: 가드가 태그를 체크아웃한 뒤 그 안의 스크립트를 실행하는데, 가드 도입 이전 태그에는
.github/scripts/release-guard.sh가 없다.수정
체크아웃 이원화:
guard-src(default branch — 스크립트 공급) +release-src(태그 — 검증 대상), 스크립트는working-directory: release-src에서 실행. 판정 로직이 태그에 동결된 버전이 아니라 항상 현재 main 기준이 되는 부수 효과도 의도된 것.release.ymlself-check는 릴리스 커밋 워크스페이스에서 실행되므로 무영향.리뷰 반영:
refs/heads/한정,cache-dependency-path를 검증 대상 트리로 스코핑(main×tag 조합별 cache miss 방지), RELEASING.md에 2-checkout 의미(옛 태그 재검증 가능, 판정 기준은 항상 현재 스크립트) 문서화. 거절 1건: dispatch 시 브랜치 스크립트 사용 — "현재 main 로직으로 판정"이 스펙이므로 의도된 동작.검증
gh workflow run release-guard.yml -f tag=v1.4.0재실행으로 E2E 확인 예정 (이 버그 자체가 실 dispatch에서만 재현 — 로컬 테스트는 스크립트가 있는 체크아웃에서 돌므로 통과했었음)🤖 Generated with Claude Code
https://claude.ai/code/session_01FavJfhdcNAHZKWvmSBVLYZ