빌드를 테스트보다 먼저 돌리고, SKIP 을 실패로 취급한다
All checks were successful
ci / build (push) Successful in 35s

CI 가 초록이었지만 CLI 테스트 6개가 전부 SKIP 이었다.

  packages/cli test: ok 1 - 빌드 산출물이 있어야 한다 # SKIP pnpm build 먼저 실행해라
  packages/cli test: # pass 0

테스트가 dist 를 검사하는데 빌드보다 먼저 돌았다. 건너뛰고도 초록이라
'테스트 통과'가 거짓이 됐다. 순서를 바꾸고, 건너뛴 테스트가 있으면
죽이는 단계를 넣었다. SKIP 은 통과가 아니다.

.npmrc 에 sharp 빌드를 허용했다. pnpm 10 은 기본으로 빌드 스크립트를
막는데, sharp 없이는 astro:assets 이미지 최적화가 안 된다.
This commit is contained in:
Yun Chan 2026-08-20 17:17:41 +09:00
parent 1a185df3df
commit 84dc5c823c
2 changed files with 20 additions and 2 deletions

View file

@ -36,11 +36,25 @@ jobs:
- name: 타입 검사 - name: 타입 검사
run: pnpm typecheck run: pnpm typecheck
# 빌드가 테스트보다 먼저다.
# CLI 테스트는 dist 를 검사하므로, 빌드 전에 돌리면 6개가 전부 SKIP 되고
# 그래도 초록으로 통과한다. 실측에서 그랬다 — pass 0 인데 성공이었다.
- name: 빌드
run: pnpm build
- name: 테스트 - name: 테스트
run: pnpm test run: pnpm test
- name: 빌드 # SKIP 은 통과가 아니다. 건너뛴 테스트가 있으면 여기서 죽인다.
run: pnpm build - name: 테스트가 실제로 돌았는지 확인
run: |
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
echo "$out" | grep -E "^.*# (pass|fail) " || true
- name: 배포물 점검 (npx 경로 검증) - name: 배포물 점검 (npx 경로 검증)
run: | run: |

4
.npmrc
View file

@ -1,3 +1,7 @@
auto-install-peers=true auto-install-peers=true
strict-peer-dependencies=false strict-peer-dependencies=false
# 릴리스 프로비넌스는 CI에서만 켠다(로컬 publish 금지) # 릴리스 프로비넌스는 CI에서만 켠다(로컬 publish 금지)
# sharp 는 astro:assets 의 이미지 최적화에 쓴다.
# pnpm 10 은 기본으로 빌드 스크립트를 막아서 명시적으로 허용해야 한다.
only-built-dependencies[]=sharp