From cb3ce57702055c468c68cfbcb2171044815eb0e9 Mon Sep 17 00:00:00 2001 From: BoxLogoDev <86134843+BoxLogoDev@users.noreply.github.com> Date: Wed, 19 Aug 2026 22:46:51 +0900 Subject: [PATCH] =?UTF-8?q?fix(release):=20--ignore-scripts=20=EB=A1=9C=20?= =?UTF-8?q?=EA=B1=B4=EB=84=88=EB=9B=B4=20ripgrep=C2=B7electron=20postinsta?= =?UTF-8?q?ll=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v2.4.1 Windows 빌드가 SDK 스테이징까지 진행한 뒤 멈췄다. ERROR: @vscode/ripgrep not installed or postinstall did not run Run 'bun install' and 'bun pm trust @vscode/ripgrep'. `bun install --frozen-lockfile --ignore-scripts` 가 네이티브 바이너리를 받아오는 postinstall 까지 건너뛴다. build-win.ps1 은 ripgrep 바이너리를 설치파일에 복사하므로 없으면 빌드가 멈추고, electron 도 electron-log 가 로드 시점에 require 하므로 필요하다. (같은 원인으로 ci.yml 의 데스크톱 테스트가 21회 실패했고 cdb00f1 에서 고쳤다) 스크립트가 안내하는 `bun pm trust @vscode/ripgrep` 를 쓰되, no-op 인 경우를 대비해 바이너리 존재를 확인하고 없으면 패키지의 postinstall(lib/postinstall.js)을 직접 실행한다. 마지막에 test -f 로 결과를 검증해 조용한 실패를 막는다. Co-Authored-By: Claude Fable 5 --- .github/workflows/release.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e84d69..670a502 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,6 +36,25 @@ jobs: working-directory: apps/desktop run: bun install --frozen-lockfile --ignore-scripts + # --ignore-scripts 는 네이티브 바이너리를 받아오는 postinstall 까지 건너뛴다. + # build-win.ps1 이 ripgrep 바이너리를 설치파일에 복사하므로, 없으면 + # "ERROR: @vscode/ripgrep not installed or postinstall did not run" 로 빌드가 멈춘다. + # electron 도 같은 이유로 필요하다(electron-log 가 로드 시점에 require 한다). + - name: Run trusted postinstalls skipped by --ignore-scripts + working-directory: apps/desktop + shell: bash + run: | + set -e + # bun pm trust 가 먹지 않는 경우(이미 trusted 목록에 있어 no-op 등)를 대비해 + # 바이너리 존재를 확인하고, 없으면 패키지의 postinstall 을 직접 돌린다. + bun pm trust @vscode/ripgrep || true + if [ ! -f node_modules/@vscode/ripgrep/bin/rg.exe ]; then + echo "ripgrep binary still missing — running postinstall directly" + node node_modules/@vscode/ripgrep/lib/postinstall.js + fi + test -f node_modules/@vscode/ripgrep/bin/rg.exe + node node_modules/electron/install.js + # build-win.ps1 이 Windows 빌드 전체를 담당한다: bun 바이너리 다운로드(SHA 검증) → # 루트 node_modules 에서 SDK 복사 + claude-agent-sdk-binary alias 생성 → # ripgrep/interceptor 복사 → electron 빌드 → electron-builder --win → 설치파일 검증.