Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@su-record/vibe",
"version": "3.2.17",
"version": "3.2.18",
"description": "AI Coding Framework for Claude Code — 7+ agents, 52 skills, multi-LLM orchestration",
"type": "module",
"main": "dist/cli/index.js",
Expand Down
7 changes: 7 additions & 0 deletions scripts/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ gh pr create --base main --head "$BRANCH" --title "$VERSION" \
--body "Release ${TAG}. 버전 범프만 포함한다 — 릴리스 절차는 scripts/release.sh 참조."

echo "▶ 필수 체크 대기 중 (Build (type-check) · Tests)"
# `--watch` 는 체크가 아직 하나도 등록되지 않았으면 즉시 실패한다
# ("no checks reported on the ... branch"). PR 생성과 워크플로 등록 사이에
# 수 초의 간격이 있으므로, 등록될 때까지 먼저 기다린다.
for _ in $(seq 1 60); do
[ "$(gh pr checks "$BRANCH" --json name -q 'length' 2>/dev/null || echo 0)" -gt 0 ] && break
sleep 5
done
gh pr checks "$BRANCH" --watch --fail-fast
gh pr merge "$BRANCH" --squash --delete-branch

Expand Down
11 changes: 11 additions & 0 deletions src/tests/curated-release-notes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,17 @@ describe('release procedure respects branch protection', () => {
expect(script.indexOf('gh pr checks')).toBeLessThan(script.indexOf('gh pr merge'));
});

/**
* v3.2.18 첫 실주행에서 `--watch` 가 "no checks reported on the
* 'release/v3.2.18' branch" 로 즉시 실패했다 — PR 생성과 워크플로 등록 사이의
* 레이스다. 등록을 먼저 기다리지 않으면 매 릴리스가 같은 지점에서 끊긴다.
*/
it('REQ-release-flow-006 체크가 등록될 때까지 기다린 뒤 watch 한다', () => {
expect(executable).toMatch(/gh pr checks "\$BRANCH" --json name -q 'length'/);
expect(executable.indexOf("--json name -q 'length'"))
.toBeLessThan(executable.indexOf('--watch'));
});

it('REQ-release-flow-004 병합 후 태그를 붙여 Release 워크플로를 발동한다', () => {
expect(script).toMatch(/git tag -a "\$TAG"/);
expect(script).toMatch(/git push -q origin "\$TAG"/);
Expand Down
Loading