diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index cdfad26..cba7609 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -29,6 +29,13 @@ jobs: sudo apt-get update sudo apt-get install -y build-essential libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf jq libssl-dev xdg-utils + - name: Install Windows cross-compile dependencies + run: | + sudo apt-get install -y lld llvm clang nsis + source "$HOME/.cargo/env" + rustup target add x86_64-pc-windows-msvc + cargo install --locked cargo-xwin + - name: Install frontend dependencies run: npm ci @@ -40,6 +47,14 @@ jobs: source "$HOME/.cargo/env" npx tauri build + - name: Build Tauri Windows + env: + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + run: | + source "$HOME/.cargo/env" + npx tauri build --runner cargo-xwin --target x86_64-pc-windows-msvc --bundles nsis + - name: Collect release files run: | mkdir -p release-assets @@ -48,6 +63,8 @@ jobs: cp src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz release-assets/ 2>/dev/null || true cp src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz.sig release-assets/ 2>/dev/null || true cp src-tauri/target/release/bundle/rpm/*.rpm release-assets/ 2>/dev/null || true + cp src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe release-assets/ 2>/dev/null || true + cp src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe.sig release-assets/ 2>/dev/null || true ls -la release-assets/ - name: Extract changelog @@ -73,6 +90,8 @@ jobs: LINUX_SIG="" APPIMAGE_TAR="" + WINDOWS_SIG="" + WINDOWS_EXE="" for f in release-assets/*.AppImage.tar.gz.sig; do [ -f "$f" ] && LINUX_SIG=$(cat "$f") @@ -80,6 +99,12 @@ jobs: for f in release-assets/*.AppImage.tar.gz; do [ -f "$f" ] && APPIMAGE_TAR=$(basename "$f") done + for f in release-assets/*-setup.exe.sig; do + [ -f "$f" ] && WINDOWS_SIG=$(cat "$f") + done + for f in release-assets/*-setup.exe; do + [ -f "$f" ] && WINDOWS_EXE=$(basename "$f") + done PLATFORMS="{}" if [ -n "$LINUX_SIG" ] && [ -n "$APPIMAGE_TAR" ]; then @@ -88,6 +113,12 @@ jobs: --arg url "${BASE_URL}/${APPIMAGE_TAR}" \ '. + {"linux-x86_64": {"signature": $sig, "url": $url}}') fi + if [ -n "$WINDOWS_SIG" ] && [ -n "$WINDOWS_EXE" ]; then + PLATFORMS=$(echo "$PLATFORMS" | jq \ + --arg sig "$WINDOWS_SIG" \ + --arg url "${BASE_URL}/${WINDOWS_EXE}" \ + '. + {"windows-x86_64": {"signature": $sig, "url": $url}}') + fi jq -n \ --arg version "$TAG" \ @@ -115,6 +146,7 @@ jobs: ## Installation + **Windows** : Téléchargez le fichier `.exe` ci-dessous. **Linux** : Téléchargez le fichier `.deb` ou `.AppImage` ci-dessous. BODY_EOF ) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a9d810..c4a49e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +## [0.4.2] + +### Changed +- Auto-updater now points to self-hosted Forgejo instance +- Windows builds now cross-compiled via cargo-xwin + ## [0.4.1] ### Fixed diff --git a/package.json b/package.json index 8d73961..7c5abc2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "simpl_result_scaffold", "private": true, - "version": "0.4.1", + "version": "0.4.2", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3c63e29..90c5fb1 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "simpl-result" -version = "0.4.1" +version = "0.4.2" description = "Personal finance management app" authors = ["you"] edition = "2021" @@ -24,6 +24,7 @@ tauri-plugin-sql = { version = "2", features = ["sqlite"] } tauri-plugin-dialog = "2" tauri-plugin-updater = "2" tauri-plugin-process = "2" +libsqlite3-sys = { version = "0.30", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = "1" sha2 = "0.10" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 4198a0f..7b6c980 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Simpl Resultat", - "version": "0.4.1", + "version": "0.4.2", "identifier": "com.simpl.resultat", "build": { "beforeDevCommand": "npm run dev", @@ -37,7 +37,7 @@ "updater": { "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDgyRDc4MDEyQjQ0MzAxRTMKUldUakFVTzBFb0RYZ3NRNmFxMHdnTzBMZzFacTlCbTdtMEU3Ym5pZWNSN3FRZk43R3lZSUM2OHQK", "endpoints": [ - "https://github.com/Le-King-Fu/simpl-resultat/releases/latest/download/latest.json" + "https://git.lacompagniemaximus.com/maximus/simpl-resultat/releases/latest/download/latest.json" ], "windows": { "installMode": "basicUi"