chore: add updater workflow

This commit is contained in:
kwaroran
2024-06-14 22:55:01 +09:00
parent 98d7d19007
commit 601a413041
5 changed files with 36 additions and 56 deletions

View File

@@ -3,6 +3,7 @@ on:
push: push:
branches: branches:
- production - production
workflow_dispatch: {}
jobs: jobs:
publish-tauri: publish-tauri:
@@ -28,6 +29,11 @@ jobs:
shell: bash shell: bash
run: | run: |
echo "VERSION_JSON=$(jq -c . < version.json)" >> $GITHUB_ENV echo "VERSION_JSON=$(jq -c . < version.json)" >> $GITHUB_ENV
- name: "Set TAURI_PRIVATE_KEY env variable for signing"
shell: bash,
run: |
export TAURI_PRIVATE_KEY="${{ secrets.TAURI_PRIVATE_KEY }}"
export TAURI_KEY_PASSWORD="${{ secrets.TAURI_KEY_PASSWORD }}"
- name: install pnpm - name: install pnpm
uses: pnpm/action-setup@v3 uses: pnpm/action-setup@v3
with: with:
@@ -51,61 +57,18 @@ jobs:
${{ runner.os }}-pnpm-store- ${{ runner.os }}-pnpm-store-
- name: install frontend dependencies - name: install frontend dependencies
run: pnpm install --no-frozen-lockfile # change this to npm or pnpm depending on which one you use run: pnpm install --no-frozen-lockfile # change this to npm or pnpm depending on which one you use
- if: matrix.platform == 'ubuntu-latest'
run: pnpm tauri build --target x86_64-unknown-linux-gnu
- if: matrix.platform == 'ubuntu-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: |
src-tauri/target/x86_64-unknown-linux-gnu/release/**/*.deb
src-tauri/target/x86_64-unknown-linux-gnu/release/**/*.AppImage
- if: matrix.platform == 'macos-latest' - if: matrix.platform == 'macos-latest'
run: rustup target add x86_64-apple-darwin run: rustup target add x86_64-apple-darwin
- if: matrix.platform == 'macos-latest'
run: pnpm tauri build --target x86_64-apple-darwin
- if: matrix.platform == 'macos-latest' - if: matrix.platform == 'macos-latest'
run: rustup target add aarch64-apple-darwin run: rustup target add aarch64-apple-darwin
- if: matrix.platform == 'macos-latest' - uses: tauri-apps/tauri-action@v0
run: pnpm tauri build --target aarch64-apple-darwin env:
- if: matrix.platform == 'macos-latest' GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: "softprops/action-gh-release@v2"
with: with:
repo_token: "${{ secrets.GITHUB_TOKEN }}" tagName: 'v__VERSION__' # the action automatically replaces \_\_VERSION\_\_ with the app version.
automatic_release_tag: "latest" releaseName: 'v__VERSION__'
tag_name: "v${{fromJson(env.VERSION_JSON).version}}" releaseBody: 'Release of v__VERSION__'
name: "${{fromJson(env.VERSION_JSON).version}}" releaseDraft: true
generate_release_notes: true prerelease: false
files: | args: ${{ matrix.settings.args }}
src-tauri/target/*/release/bundle/macos/*.app tauriScript: "pnpm tauri"
src-tauri/target/*/release/bundle/dmg/*.dmg
- if: matrix.platform == 'windows-latest'
run: pnpm tauri build
- if: matrix.platform == 'windows-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: |
src-tauri/target/x86_64-pc-windows-msvc/release/**/*.msi
# publish dist as zip when building on ubuntu
# first, zip the dist
- if: matrix.platform == 'ubuntu-latest'
run: zip -r built_code.zip dist
# then, publish the zip file
- if: matrix.platform == 'ubuntu-latest'
uses: "softprops/action-gh-release@v2"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
tag_name: "v${{fromJson(env.VERSION_JSON).version}}"
name: "${{fromJson(env.VERSION_JSON).version}}"
generate_release_notes: true
files: built_code.zip

3
.gitignore vendored
View File

@@ -38,4 +38,5 @@ vite.config.js.timestamp-*
vite.config.ts.timestamp-* vite.config.ts.timestamp-*
raise.code-workspace raise.code-workspace
recc.md recc.md
__pycache__/ __pycache__/
.tauri/

10
src-tauri/Cargo.lock generated
View File

@@ -1784,6 +1784,12 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "minisign-verify"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881"
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.7.2" version = "0.7.2"
@@ -3298,6 +3304,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f078117725e36d55d29fafcbb4b1e909073807ca328ae8deb8c0b3843aac0fed" checksum = "f078117725e36d55d29fafcbb4b1e909073807ca328ae8deb8c0b3843aac0fed"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"base64 0.21.7",
"bytes", "bytes",
"cocoa", "cocoa",
"dirs-next", "dirs-next",
@@ -3313,6 +3320,7 @@ dependencies = [
"http", "http",
"ignore", "ignore",
"indexmap 1.9.3", "indexmap 1.9.3",
"minisign-verify",
"objc", "objc",
"once_cell", "once_cell",
"open", "open",
@@ -3337,12 +3345,14 @@ dependencies = [
"tauri-utils", "tauri-utils",
"tempfile", "tempfile",
"thiserror", "thiserror",
"time",
"tokio", "tokio",
"url", "url",
"uuid", "uuid",
"webkit2gtk", "webkit2gtk",
"webview2-com", "webview2-com",
"windows 0.39.0", "windows 0.39.0",
"zip",
] ]
[[package]] [[package]]

View File

@@ -13,7 +13,7 @@ edition = "2021"
tauri-build = { version = "1.4.0", features = [] } tauri-build = { version = "1.4.0", features = [] }
[dependencies] [dependencies]
tauri = { version = "1.6.0", features = ["app-all", "dialog-all", "fs-all", "http-all", "os-all", "path-all", "process-relaunch", "protocol-all", "reqwest-client", "shell-open", "window-maximize", "window-set-fullscreen"] } tauri = { version = "1.6.0", features = [ "updater", "app-all", "dialog-all", "fs-all", "http-all", "os-all", "path-all", "process-relaunch", "protocol-all", "reqwest-client", "shell-open", "window-maximize", "window-set-fullscreen"] }
serde_json = "1.0" serde_json = "1.0"
tiktoken-rs = "0.4.0" tiktoken-rs = "0.4.0"
base64 = "0.21.0" base64 = "0.21.0"

View File

@@ -96,7 +96,13 @@
"csp": null "csp": null
}, },
"updater": { "updater": {
"active": false "active": true,
"endpoints": ["https://sv.risuai.xyz/hub/update"],
"dialog": false,
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDU2ODMzOTIxMDMxOTY1MUYKUldRZlpSa0RJVG1EVmx5Vm1WYlhFM29HMEJrUTRrYmg5dDQ0RFpvdUphNDdxQmVlWXJHVmV5TEYK",
"windows": {
"installMode": "passive"
}
}, },
"windows": [ "windows": [
{ {