From b4dd7afe03cc571a8e27f3f83fa5ba5ef4c00baa Mon Sep 17 00:00:00 2001 From: James Brunton Date: Fri, 9 Jan 2026 10:23:17 +0000 Subject: [PATCH] Optimise Tauri builds (#5404) # Description of Changes - Just build proper installers in CI for each platform - Provide commands to build just the bundled apps without the need for installers locally - `tauri-dev` - Builds quickly for an unoptimised version of the app - `tauri-build` - Builds the full optimised app installer for release - `tauri-build-dev` - Builds an optimised app with no bundling (builds to a folder on Mac; raw `.exe` on Windows; etc.) - `tauri-build-dev-mac` - Builds an optimised bundled Mac app with no installer (as an `.app` file) - `tauri-build-dev-windows` - Builds an optimised bundled Windows app as an `.nsis` installer - `tauri-build-dev-linux` - Builds an optimised bundled Linux app as an `.appimage` --- .github/workflows/tauri-build.yml | 5 ++--- frontend/package.json | 4 ++++ frontend/src-tauri/tauri.conf.json | 1 - 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tauri-build.yml b/.github/workflows/tauri-build.yml index dea68a60b..b8a899c9b 100644 --- a/.github/workflows/tauri-build.yml +++ b/.github/workflows/tauri-build.yml @@ -507,7 +507,6 @@ jobs: find . -name "*.msi" -exec cp {} "../../../dist/Stirling-PDF-${{ matrix.name }}.msi" \; elif [ "${{ matrix.platform }}" = "macos-15" ] || [ "${{ matrix.platform }}" = "macos-15-intel" ]; then find . -name "*.dmg" -exec cp {} "../../../dist/Stirling-PDF-${{ matrix.name }}.dmg" \; - find . -name "*.app" -exec cp -r {} "../../../dist/Stirling-PDF-${{ matrix.name }}.app" \; else find . -name "*.deb" -exec cp {} "../../../dist/Stirling-PDF-${{ matrix.name }}.deb" \; find . -name "*.AppImage" -exec cp {} "../../../dist/Stirling-PDF-${{ matrix.name }}.AppImage" \; @@ -595,8 +594,8 @@ jobs: fi elif [ "${{ matrix.platform }}" = "macos-15" ] || [ "${{ matrix.platform }}" = "macos-15-intel" ]; then echo "Checking for macOS artifacts..." - find . -name "*.dmg" -o -name "*.app" | head -5 - if [ $(find . -name "*.dmg" -o -name "*.app" | wc -l) -eq 0 ]; then + find . -name "*.dmg" | head -5 + if [ $(find . -name "*.dmg" | wc -l) -eq 0 ]; then echo "❌ No macOS artifacts found" exit 1 fi diff --git a/frontend/package.json b/frontend/package.json index 5db9a0b84..788f8eb81 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -77,6 +77,10 @@ "preview": "vite preview", "tauri-dev": "tauri dev --no-watch", "tauri-build": "tauri build", + "tauri-build-dev": "tauri build --no-bundle", + "tauri-build-dev-mac": "tauri build --bundles app", + "tauri-build-dev-windows": "tauri build --bundles nsis", + "tauri-build-dev-linux": "tauri build --bundles appimage", "tauri-clean": "cd src-tauri && cargo clean && cd .. && rm -rf dist build", "typecheck": "npm run typecheck:proprietary", "typecheck:core": "tsc --noEmit --project tsconfig.core.json", diff --git a/frontend/src-tauri/tauri.conf.json b/frontend/src-tauri/tauri.conf.json index e08c53004..853ae3eab 100644 --- a/frontend/src-tauri/tauri.conf.json +++ b/frontend/src-tauri/tauri.conf.json @@ -26,7 +26,6 @@ "deb", "rpm", "dmg", - "app", "msi" ], "icon": [