Skip to content

fix(ci): release-guard 스크립트를 default branch에서 로드 - #31

Merged
baekchangjoon merged 1 commit into
mainfrom
fix/release-guard-script-checkout
Jul 27, 2026
Merged

fix(ci): release-guard 스크립트를 default branch에서 로드#31
baekchangjoon merged 1 commit into
mainfrom
fix/release-guard-script-checkout

Conversation

@baekchangjoon

Copy link
Copy Markdown
Collaborator

문제

머지 직후 workflow_dispatch로 v1.4.0을 실검증하니 exit 127 실패: 가드가 태그를 체크아웃한 뒤 그 안의 스크립트를 실행하는데, 가드 도입 이전 태그에는 .github/scripts/release-guard.sh가 없다.

수정

체크아웃 이원화: guard-src(default branch — 스크립트 공급) + release-src(태그 — 검증 대상), 스크립트는 working-directory: release-src에서 실행. 판정 로직이 태그에 동결된 버전이 아니라 항상 현재 main 기준이 되는 부수 효과도 의도된 것. release.yml self-check는 릴리스 커밋 워크스페이스에서 실행되므로 무영향.

리뷰 반영: refs/heads/ 한정, cache-dependency-path를 검증 대상 트리로 스코핑(main×tag 조합별 cache miss 방지), RELEASING.md에 2-checkout 의미(옛 태그 재검증 가능, 판정 기준은 항상 현재 스크립트) 문서화. 거절 1건: dispatch 시 브랜치 스크립트 사용 — "현재 main 로직으로 판정"이 스펙이므로 의도된 동작.

검증

  • actionlint 통과
  • 머지 후 gh workflow run release-guard.yml -f tag=v1.4.0 재실행으로 E2E 확인 예정 (이 버그 자체가 실 dispatch에서만 재현 — 로컬 테스트는 스크립트가 있는 체크아웃에서 돌므로 통과했었음)

🤖 Generated with Claude Code

https://claude.ai/code/session_01FavJfhdcNAHZKWvmSBVLYZ

…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
@baekchangjoon
baekchangjoon merged commit e81e806 into main Jul 27, 2026
8 checks passed
@baekchangjoon
baekchangjoon deleted the fix/release-guard-script-checkout branch July 27, 2026 03:26
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