Skip to content

fix: pnpm v11 build allowlist 를 pnpm-workspace.yaml 로 이전#140

Merged
youngminss merged 1 commit into
developfrom
fix/ci-pnpm-build-scripts-v2
May 7, 2026
Merged

fix: pnpm v11 build allowlist 를 pnpm-workspace.yaml 로 이전#140
youngminss merged 1 commit into
developfrom
fix/ci-pnpm-build-scripts-v2

Conversation

@youngminss
Copy link
Copy Markdown
Member

🎯 PR 제목

fix: pnpm v11 build allowlist 를 pnpm-workspace.yaml 로 이전

📑 작업 상세 내역

  • 버그 수정
    • 이전 hotfix(fix: CI 에서 pnpm v11 build script 차단으로 인한 docker build 실패 해소 #139) 가 package.jsonpnpm.onlyBuiltDependencies 에 화이트리스트를 추가했지만 pnpm v11 은 이 설정을 pnpm-workspace.yaml 에서만 인정해 docker build 가 여전히 ERR_PNPM_IGNORED_BUILDS 로 실패했습니다
    • pnpm-workspace.yaml 을 신규 추가하고 sharp/unrs-resolver 화이트리스트를 그쪽으로 이전합니다
    • package.json 의 (이제 무시되는) pnpm 필드를 제거합니다
    • docker/client/DockerfileCOPY 단계에 pnpm-workspace.yaml 을 추가해 install 시 워크스페이스 설정이 정상 적용되게 합니다

🙏 리뷰 요청 사항

  • 본 PR 머지 후 develop deploy CI 가 green 으로 돌아오는지 확인 부탁드립니다
  • 추후 새 의존성 추가 시 동일 에러 재발 가능성 있어 follow-up 으로 packageManager 핀 검토 가치 있음 (본 PR 비범위)

📃 참고 자료

🖼️ 작업 결과물

The previous fix added pnpm.onlyBuiltDependencies to package.json, but
pnpm v11 only honors this configuration when it lives in pnpm-workspace.yaml,
so the docker build still failed with ERR_PNPM_IGNORED_BUILDS for
sharp and unrs-resolver. Moves the allowlist to pnpm-workspace.yaml,
removes the now-redundant package.json field, and copies the workspace
file in the client Dockerfile so it is present during pnpm install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@youngminss youngminss added the 🐞 Fix 버그 수정 및 이슈 해결 label May 7, 2026
@youngminss youngminss self-assigned this May 7, 2026
@youngminss youngminss requested a review from RookieAND May 7, 2026 16:34
@github-actions github-actions Bot added 🐞 Fix 버그 수정 및 이슈 해결 and removed 🐞 Fix 버그 수정 및 이슈 해결 labels May 7, 2026
@youngminss youngminss merged commit 17ecd51 into develop May 7, 2026
3 checks passed
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 pull request는 package.json의 onlyBuiltDependencies 설정을 pnpm-workspace.yaml로 이동하고 Dockerfile에서 해당 파일을 복사하도록 변경했습니다. 리뷰에서는 pnpm v11 환경에서 발생할 수 있는 빌드 오류를 방지하기 위해 pnpm-workspace.yaml에 packages 필드를 추가하라는 피드백이 있었습니다.

Comment thread pnpm-workspace.yaml
Comment on lines +1 to +3
onlyBuiltDependencies:
- sharp
- unrs-resolver
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

pnpm v11에서 pnpm-workspace.yaml 파일은 packages 필드를 필수로 요구합니다. 단일 패키지 프로젝트인 경우에도 아래와 같이 packages 필드를 추가하여 워크스페이스 구성을 명시해야 빌드 오류(ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION)를 방지할 수 있습니다.

packages:
  - "."
onlyBuiltDependencies:
  - sharp
  - unrs-resolver

youngminss added a commit that referenced this pull request May 7, 2026
The previous attempts (#139, #140) tried to allowlist sharp and
unrs-resolver under pnpm v11's stricter ignored-builds policy, but
v11 still fails the install with ERR_PNPM_IGNORED_BUILDS even when
onlyBuiltDependencies is configured. Corepack picked v11.0.8 because
the project never declared a packageManager field, so a single
release of pnpm flipped CI from green to red.

Pins pnpm to 10.13.1 (the version that produced the last green
build) via packageManager so corepack resolves the same version on
CI as on local dev. The pnpm-workspace.yaml allowlist is kept so a
future migration to v11 stays straightforward.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
github-actions Bot pushed a commit that referenced this pull request May 12, 2026
## [2.7.0](v2.6.0...v2.7.0) (2026-05-12)

### Features

* RegionStep에 지역 요청 Banner 및 Dialog 추가 ([#133](#133)) ([b61ba13](b61ba13))
* 식당 상세 시안 정렬 및 전화하기 CTA 추가 ([#138](#138)) ([b675fc4](b675fc4))
* 식당 상세 페이지 신규 구현 ([#134](#134)) ([055841c](055841c))
* 약속 장소 섹션 캐러셀 UI 개편 ([#137](#137)) ([c77b04a](c77b04a))

### Bug Fixes

* certbot 컨테이너 제거 후 호스트 certbot 방식으로 전환 ([a104bfb](a104bfb))
* **ci:** allowlist sharp and unrs-resolver build scripts ([#139](#139)) ([6399273](6399273))
* **ci:** move pnpm build allowlist to pnpm-workspace.yaml ([#140](#140)) ([17ecd51](17ecd51))
* **ci:** pin pnpm to 10.13.1 via packageManager ([#141](#141)) ([e020a3c](e020a3c)), closes [#139](#139) [#140](#140)
* **ci:** pnpm 버전 충돌 해결을 위해 워크플로우의 version 명시 제거 ([a5000af](a5000af))

### Code Refactoring

* VoteSummarySection 거리 블록 숨김 및 디렉터리 분리 ([#136](#136)) ([31f9d13](31f9d13)), closes [#132](#132)
github-actions Bot pushed a commit that referenced this pull request May 12, 2026
## [2.7.0-beta.7](v2.7.0-beta.6...v2.7.0-beta.7) (2026-05-12)

### Bug Fixes

* certbot 컨테이너 제거 후 호스트 certbot 방식으로 전환 ([a104bfb](a104bfb))
* **ci:** move pnpm build allowlist to pnpm-workspace.yaml ([#140](#140)) ([17ecd51](17ecd51))
* **ci:** pin pnpm to 10.13.1 via packageManager ([#141](#141)) ([e020a3c](e020a3c)), closes [#139](#139) [#140](#140)
* **ci:** pnpm 버전 충돌 해결을 위해 워크플로우의 version 명시 제거 ([a5000af](a5000af))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐞 Fix 버그 수정 및 이슈 해결

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant