diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 45580e4..f875c18 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -53,12 +53,25 @@ jobs: - name: 의존성 설치 run: pnpm install --frozen-lockfile - - name: 검사 · 테스트 · 빌드 + - name: 검사 · 빌드 · 테스트 run: | node build/ci/lint-skill.mjs packages/skill pnpm typecheck - pnpm test + + # 빌드가 테스트보다 먼저다. CLI 테스트는 dist 를 검사하므로 + # 빌드 전에 돌리면 6개가 전부 SKIP 되고 그래도 통과한다. + # 리허설에서 실제로 `# pass 0 / # skipped 6` 이 나왔다. pnpm build + pnpm test + + # SKIP 은 통과가 아니다. npm 으로 나가는 경로라 여기서 특히 엄격하다. + out="$(pnpm -r --filter './packages/**' test 2>&1)" + if echo "$out" | grep -q "# SKIP"; then + echo "$out" | grep -n "# SKIP" >&2 + echo "건너뛴 테스트가 있다. 이 상태로 배포하지 않는다." >&2 + exit 1 + fi + node packages/cli/scripts/verify-package.mjs - name: tarball 생성