ci(release): build and verify the STT sidecar in every packaging pipeline
Packaging silently tolerates a missing resource directory: electron-builder prints "file source doesn't exist" and continues, which is how installers that could not transcribe were published. Every pipeline that packages the desktop app now builds the sidecar and fails when the engine or its VAD data is absent, so a release cannot ship without local transcription.
This commit is contained in:
parent
2d585bfc29
commit
7e1972a315
4 changed files with 39 additions and 7 deletions
|
|
@ -41,6 +41,14 @@ jobs:
|
|||
- name: 의존성 설치
|
||||
run: npm ci
|
||||
|
||||
- name: STT 사이드카 빌드 (로컬 전사 엔진)
|
||||
run: |
|
||||
# 로컬 전사는 faster-whisper 사이드카에 의존한다. 이 번들이 빠지면
|
||||
# 설치본에서 전사가 전혀 동작하지 않으므로 패키징 전에 반드시 빌드/검증한다.
|
||||
npm run sidecar:setup --workspace=@d3ro/desktop
|
||||
npm run sidecar:build --workspace=@d3ro/desktop
|
||||
node scripts/ci/verify-sidecar-bundle.mjs
|
||||
|
||||
- name: 데스크톱 빌드 (서명 필수)
|
||||
env:
|
||||
WIN_CSC_LINK: "${{ secrets.WIN_CSC_LINK }}"
|
||||
|
|
|
|||
13
.github/workflows/build-mac.yml
vendored
13
.github/workflows/build-mac.yml
vendored
|
|
@ -48,15 +48,14 @@ jobs:
|
|||
working-directory: apps/desktop
|
||||
run: bash scripts/install-sox.sh
|
||||
|
||||
- name: Install Python dependencies
|
||||
- name: Build STT sidecar (PyInstaller)
|
||||
working-directory: apps/desktop
|
||||
run: |
|
||||
pip install pyinstaller
|
||||
pip install -r sidecar/requirements.txt
|
||||
|
||||
- name: Build sidecar (PyInstaller)
|
||||
working-directory: apps/desktop
|
||||
run: python scripts/build-sidecar.py
|
||||
# 로컬 전사는 사이드카 번들에 의존한다. 누락된 채 패키징하면 설치본에서
|
||||
# 전사가 전혀 동작하지 않으므로 빌드 후 반드시 검증한다.
|
||||
npm run sidecar:setup
|
||||
npm run sidecar:build
|
||||
node ../../scripts/ci/verify-sidecar-bundle.mjs
|
||||
|
||||
- name: Rebuild native modules for Electron
|
||||
run: npx --yes @electron/rebuild@3 --version=33.4.11
|
||||
|
|
|
|||
7
.github/workflows/release-signing-ca.yml
vendored
7
.github/workflows/release-signing-ca.yml
vendored
|
|
@ -36,6 +36,13 @@ jobs:
|
|||
trusted-signing-account-name: ${{ secrets.AZURE_SIGNING_ACCOUNT }}
|
||||
certificate-profile-name: ${{ secrets.AZURE_CERT_PROFILE }}
|
||||
|
||||
- name: Build STT Sidecar (local transcription engine)
|
||||
run: |
|
||||
# Without this bundle the packaged app cannot transcribe at all.
|
||||
npm run sidecar:setup --workspace=@d3ro/desktop
|
||||
npm run sidecar:build --workspace=@d3ro/desktop
|
||||
node scripts/ci/verify-sidecar-bundle.mjs
|
||||
|
||||
- name: Build and Package Windows (NSIS + RFC 3161 TSA)
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
|
|
@ -109,6 +109,15 @@ jobs:
|
|||
npm run typecheck
|
||||
npm run build --workspace=@d3ro/desktop
|
||||
|
||||
- name: Build STT Sidecar (local transcription engine)
|
||||
run: |
|
||||
# Local transcription depends on the faster-whisper sidecar; a release
|
||||
# that ships without it cannot transcribe at all, so build and verify
|
||||
# the bundle before packaging.
|
||||
npm run sidecar:setup --workspace=@d3ro/desktop
|
||||
npm run sidecar:build --workspace=@d3ro/desktop
|
||||
node scripts/ci/verify-sidecar-bundle.mjs
|
||||
|
||||
- name: Package with Electron Builder (NSIS x64)
|
||||
shell: pwsh
|
||||
run: |
|
||||
|
|
@ -179,6 +188,15 @@ jobs:
|
|||
npm run typecheck
|
||||
npm run build --workspace=@d3ro/desktop
|
||||
|
||||
- name: Build STT Sidecar (local transcription engine)
|
||||
run: |
|
||||
# Local transcription depends on the faster-whisper sidecar; a release
|
||||
# that ships without it cannot transcribe at all, so build and verify
|
||||
# the bundle before packaging.
|
||||
npm run sidecar:setup --workspace=@d3ro/desktop
|
||||
npm run sidecar:build --workspace=@d3ro/desktop
|
||||
node scripts/ci/verify-sidecar-bundle.mjs
|
||||
|
||||
- name: Package with Electron Builder (DMG & ZIP arm64)
|
||||
run: |
|
||||
cd apps/desktop
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue