feat(release): ship an install path that needs no code-signing certificate
Some checks failed
deploy-site / deploy (push) Failing after 4m9s
Some checks failed
deploy-site / deploy (push) Failing after 4m9s
Installers could not be published at all: the signing certificate does not exist yet, and the release pipelines stop at their signing guard. Users had no way to install a fixed build, so the product was effectively stuck behind a certificate that takes weeks to obtain. There is also a second, independent blocker: the download feed sits behind Cloudflare, which rejects any upload body over about 100 MiB, and the app with its speech engine exceeds that even when signed. A portable channel now publishes what can actually be delivered today: the app compressed into 95 MiB 7z volumes (162 MiB total instead of 243 MiB), a Scoop bucket for a normal install and uninstall experience, and a verifiable manual installer script. It is deliberately separate from the auto-update feed, needs no certificate, and refuses to overwrite an already published version.
This commit is contained in:
parent
a85ab799a3
commit
c35c6f3e95
13 changed files with 805 additions and 1 deletions
18
bucket/README.md
Normal file
18
bucket/README.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Scoop bucket — D3RO Voice
|
||||
|
||||
서명 인증서 없이도 설치할 수 있는 배포 경로입니다. Scoop은 파일을 직접 내려받아
|
||||
MOTW(Mark-of-the-Web)를 남기지 않으므로 SmartScreen 경고가 뜨지 않고, 관리자 권한도
|
||||
필요하지 않습니다.
|
||||
|
||||
```powershell
|
||||
scoop bucket add d3ro https://git.chanpaca.net/yunchan/d3ro-voice.git
|
||||
scoop install d3ro/d3ro-voice
|
||||
```
|
||||
|
||||
매니페스트(`bucket/d3ro-voice.json`)는 `scripts/ci/build-portable.mjs`가 버전/URL/해시를
|
||||
자동으로 채워 생성합니다. 손으로 수정하지 말고 그 스크립트를 다시 실행하세요.
|
||||
|
||||
- 이 채널은 **서명되지 않은** 휴대용 ZIP을 배포합니다(파일명에 `-portable-unsigned`).
|
||||
- 자동 업데이트 피드(`latest.yml`)와는 분리되어 있습니다. 서명된 NSIS/MSIX 설치본은
|
||||
인증서가 준비되면 기존 릴리스 파이프라인으로 게시합니다.
|
||||
- `scoop update d3ro-voice`로 새 버전을 받을 수 있습니다.
|
||||
38
bucket/d3ro-voice.json
Normal file
38
bucket/d3ro-voice.json
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"version": "1.3.0",
|
||||
"description": "로컬 AI 음성 어시스턴트 (faster-whisper + Ollama, 100% 오프라인 지원)",
|
||||
"homepage": "https://d3ro.chanpaca.net",
|
||||
"license": "MIT",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": [
|
||||
"https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-1.3.0/D3RO-Voice-1.3.0-x64-portable.7z.001",
|
||||
"https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-1.3.0/D3RO-Voice-1.3.0-x64-portable.7z.002"
|
||||
],
|
||||
"hash": [
|
||||
"c4824bd625a2f0fd685f6fd3dd8521f4ced7d46954b59f0c10efcd432f82bd3f",
|
||||
"187f4917e53525e736df838b15323e840691d602eadcfd9024407498316932ce"
|
||||
]
|
||||
}
|
||||
},
|
||||
"shortcuts": [
|
||||
[
|
||||
"D3RO Voice.exe",
|
||||
"D3RO Voice"
|
||||
]
|
||||
],
|
||||
"checkver": {
|
||||
"url": "https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-latest/portable.json",
|
||||
"jsonpath": "$.version"
|
||||
},
|
||||
"autoupdate": {
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": [
|
||||
"https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-$version/D3RO-Voice-1.3.0-x64-portable.7z.001",
|
||||
"https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-$version/D3RO-Voice-1.3.0-x64-portable.7z.002"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue