From 84dc5c823c2c100036e881df649d18632618b83a Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Thu, 20 Aug 2026 17:17:41 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=8C=EB=93=9C=EB=A5=BC=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=B3=B4=EB=8B=A4=20=EB=A8=BC=EC=A0=80=20?= =?UTF-8?q?=EB=8F=8C=EB=A6=AC=EA=B3=A0,=20SKIP=20=EC=9D=84=20=EC=8B=A4?= =?UTF-8?q?=ED=8C=A8=EB=A1=9C=20=EC=B7=A8=EA=B8=89=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 이미지 최적화가 안 된다. --- .forgejo/workflows/ci.yml | 18 ++++++++++++++++-- .npmrc | 4 ++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 55906e2..678979e 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -36,11 +36,25 @@ jobs: - name: 타입 검사 run: pnpm typecheck + # 빌드가 테스트보다 먼저다. + # CLI 테스트는 dist 를 검사하므로, 빌드 전에 돌리면 6개가 전부 SKIP 되고 + # 그래도 초록으로 통과한다. 실측에서 그랬다 — pass 0 인데 성공이었다. + - name: 빌드 + run: pnpm build + - name: 테스트 run: pnpm test - - name: 빌드 - run: pnpm build + # SKIP 은 통과가 아니다. 건너뛴 테스트가 있으면 여기서 죽인다. + - 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 경로 검증) run: | diff --git a/.npmrc b/.npmrc index 8c269a5..736c2ae 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,7 @@ auto-install-peers=true strict-peer-dependencies=false # 릴리스 프로비넌스는 CI에서만 켠다(로컬 publish 금지) + +# sharp 는 astro:assets 의 이미지 최적화에 쓴다. +# pnpm 10 은 기본으로 빌드 스크립트를 막아서 명시적으로 허용해야 한다. +only-built-dependencies[]=sharp