feat: add auto-updater support with GitHub releases

- Configure Tauri updater plugin with Ed25519 signing
- Add GitHub Actions support for signed builds
- Set up GitHub releases as update endpoint
- Enable update checking in Settings modal
This commit is contained in:
Jason
2025-09-09 15:13:06 +08:00
parent a3582f54e9
commit 6ed9cf47df
2 changed files with 19 additions and 1 deletions

View File

@@ -85,14 +85,20 @@ jobs:
- name: Build Tauri App (macOS) - name: Build Tauri App (macOS)
if: runner.os == 'macOS' if: runner.os == 'macOS'
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
run: pnpm tauri build --target universal-apple-darwin run: pnpm tauri build --target universal-apple-darwin
- name: Build Tauri App (Windows) - name: Build Tauri App (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
run: pnpm tauri build run: pnpm tauri build
- name: Build Tauri App (Linux) - name: Build Tauri App (Linux)
if: runner.os == 'Linux' if: runner.os == 'Linux'
env:
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
run: pnpm tauri build run: pnpm tauri build
- name: Prepare macOS Assets - name: Prepare macOS Assets
@@ -180,6 +186,16 @@ jobs:
run: | run: |
ls -la release-assets || true ls -la release-assets || true
- name: Collect Signatures
shell: bash
run: |
# 查找并复制签名文件到 release-assets
find src-tauri/target -name "*.sig" -type f 2>/dev/null | while read sig; do
cp "$sig" release-assets/ || true
done
echo "Collected signatures:"
ls -la release-assets/*.sig || echo "No signatures found"
- name: Upload Release Assets - name: Upload Release Assets
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:

View File

@@ -43,7 +43,9 @@
"plugins": { "plugins": {
"updater": { "updater": {
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDRERTRCNEUxQUE3MDA4QTYKUldTbUNIQ3E0YlRrVFF2cnFVVE1jczlNZFlmemxXd0h6cTdibXRJWjBDSytQODdZOTYvR3d3d2oK", "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDRERTRCNEUxQUE3MDA4QTYKUldTbUNIQ3E0YlRrVFF2cnFVVE1jczlNZFlmemxXd0h6cTdibXRJWjBDSytQODdZOTYvR3d3d2oK",
"endpoints":["http://127.0.0.1:8080/latest.json"] "endpoints": [
"https://github.com/jasonyoung/cc-switch/releases/latest/download/latest.json"
]
} }
} }
} }