Release v0.4.2: Windows cross-compile via cargo-xwin + updater trampoline
Some checks failed
Release / build-and-release (push) Failing after 15m4s
Some checks failed
Release / build-and-release (push) Failing after 15m4s
- Add Windows cross-compile (cargo-xwin) to Forgejo CI workflow - Add libsqlite3-sys bundled for cross-compile compatibility - Switch updater endpoint from GitHub to self-hosted Forgejo - Collect Windows NSIS assets and include windows-x86_64 in latest.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
21c4c73a62
commit
b97a80d8b9
5 changed files with 43 additions and 4 deletions
|
|
@ -29,6 +29,13 @@ jobs:
|
||||||
sudo apt-get update
|
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
|
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
|
- name: Install frontend dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
||||||
|
|
@ -40,6 +47,14 @@ jobs:
|
||||||
source "$HOME/.cargo/env"
|
source "$HOME/.cargo/env"
|
||||||
npx tauri build
|
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
|
- name: Collect release files
|
||||||
run: |
|
run: |
|
||||||
mkdir -p release-assets
|
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 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/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/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/
|
ls -la release-assets/
|
||||||
|
|
||||||
- name: Extract changelog
|
- name: Extract changelog
|
||||||
|
|
@ -73,6 +90,8 @@ jobs:
|
||||||
|
|
||||||
LINUX_SIG=""
|
LINUX_SIG=""
|
||||||
APPIMAGE_TAR=""
|
APPIMAGE_TAR=""
|
||||||
|
WINDOWS_SIG=""
|
||||||
|
WINDOWS_EXE=""
|
||||||
|
|
||||||
for f in release-assets/*.AppImage.tar.gz.sig; do
|
for f in release-assets/*.AppImage.tar.gz.sig; do
|
||||||
[ -f "$f" ] && LINUX_SIG=$(cat "$f")
|
[ -f "$f" ] && LINUX_SIG=$(cat "$f")
|
||||||
|
|
@ -80,6 +99,12 @@ jobs:
|
||||||
for f in release-assets/*.AppImage.tar.gz; do
|
for f in release-assets/*.AppImage.tar.gz; do
|
||||||
[ -f "$f" ] && APPIMAGE_TAR=$(basename "$f")
|
[ -f "$f" ] && APPIMAGE_TAR=$(basename "$f")
|
||||||
done
|
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="{}"
|
PLATFORMS="{}"
|
||||||
if [ -n "$LINUX_SIG" ] && [ -n "$APPIMAGE_TAR" ]; then
|
if [ -n "$LINUX_SIG" ] && [ -n "$APPIMAGE_TAR" ]; then
|
||||||
|
|
@ -88,6 +113,12 @@ jobs:
|
||||||
--arg url "${BASE_URL}/${APPIMAGE_TAR}" \
|
--arg url "${BASE_URL}/${APPIMAGE_TAR}" \
|
||||||
'. + {"linux-x86_64": {"signature": $sig, "url": $url}}')
|
'. + {"linux-x86_64": {"signature": $sig, "url": $url}}')
|
||||||
fi
|
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 \
|
jq -n \
|
||||||
--arg version "$TAG" \
|
--arg version "$TAG" \
|
||||||
|
|
@ -115,6 +146,7 @@ jobs:
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
**Windows** : Téléchargez le fichier `.exe` ci-dessous.
|
||||||
**Linux** : Téléchargez le fichier `.deb` ou `.AppImage` ci-dessous.
|
**Linux** : Téléchargez le fichier `.deb` ou `.AppImage` ci-dessous.
|
||||||
BODY_EOF
|
BODY_EOF
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
|
|
||||||
## [Unreleased]
|
## [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]
|
## [0.4.1]
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "simpl_result_scaffold",
|
"name": "simpl_result_scaffold",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.4.1",
|
"version": "0.4.2",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "simpl-result"
|
name = "simpl-result"
|
||||||
version = "0.4.1"
|
version = "0.4.2"
|
||||||
description = "Personal finance management app"
|
description = "Personal finance management app"
|
||||||
authors = ["you"]
|
authors = ["you"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
@ -24,6 +24,7 @@ tauri-plugin-sql = { version = "2", features = ["sqlite"] }
|
||||||
tauri-plugin-dialog = "2"
|
tauri-plugin-dialog = "2"
|
||||||
tauri-plugin-updater = "2"
|
tauri-plugin-updater = "2"
|
||||||
tauri-plugin-process = "2"
|
tauri-plugin-process = "2"
|
||||||
|
libsqlite3-sys = { version = "0.30", features = ["bundled"] }
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "Simpl Resultat",
|
"productName": "Simpl Resultat",
|
||||||
"version": "0.4.1",
|
"version": "0.4.2",
|
||||||
"identifier": "com.simpl.resultat",
|
"identifier": "com.simpl.resultat",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "npm run dev",
|
"beforeDevCommand": "npm run dev",
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
"updater": {
|
"updater": {
|
||||||
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDgyRDc4MDEyQjQ0MzAxRTMKUldUakFVTzBFb0RYZ3NRNmFxMHdnTzBMZzFacTlCbTdtMEU3Ym5pZWNSN3FRZk43R3lZSUM2OHQK",
|
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDgyRDc4MDEyQjQ0MzAxRTMKUldUakFVTzBFb0RYZ3NRNmFxMHdnTzBMZzFacTlCbTdtMEU3Ym5pZWNSN3FRZk43R3lZSUM2OHQK",
|
||||||
"endpoints": [
|
"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": {
|
"windows": {
|
||||||
"installMode": "basicUi"
|
"installMode": "basicUi"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue