Add automatic icon generation for desktop application builds

Updates the GitHub Actions workflow to generate platform-specific icons (.ico, .icns, .png) from an SVG source during the CI/CD process, resolving the build failure caused by missing icon files.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: c75f3610-8b16-4b73-bede-13a92ad43749
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/AwHoHV2
Replit-Helium-Checkpoint-Created: true
This commit is contained in:
sirpiglr 2025-12-06 00:59:49 +00:00 committed by MrPiglr
parent f83338a793
commit 0869c1e2f6

View file

@ -0,0 +1,107 @@
Run npm run desktop:build
> fusion-starter@0.1.0 desktop:build
> npm run build:desktop && electron-builder -c electron-builder.yml
> fusion-starter@0.1.0 build:desktop
> vite build --config vite.desktop.config.ts
vite v6.4.1 building for production...
transforming...
✓ 3488 modules transformed.
rendering chunks...
[plugin vite:reporter]
(!) D:/a/aethex-forge/aethex-forge/client/lib/aethex-social-service.ts is dynamically imported by D:/a/aethex-forge/aethex-forge/client/contexts/AuthContext.tsx but also statically imported by D:/a/aethex-forge/aethex-forge/client/pages/Feed.tsx, D:/a/aethex-forge/aethex-forge/client/pages/ProfilePassport.tsx, dynamic import will not move module into another chunk.
[plugin vite:reporter]
(!) D:/a/aethex-forge/aethex-forge/client/lib/error-utils.ts is dynamically imported by D:/a/aethex-forge/aethex-forge/client/pages/ProjectsNew.tsx but also statically imported by D:/a/aethex-forge/aethex-forge/client/pages/Feed.tsx, dynamic import will not move module into another chunk.
computing gzip size...
../dist/desktop/desktop-overlay.html 1.20 kB │ gzip: 0.60 kB
../dist/desktop/desktop-main.html 1.29 kB │ gzip: 0.63 kB
../dist/desktop/assets/global-DbwtRbT6.css 242.40 kB │ gzip: 33.01 kB
../dist/desktop/assets/overlay-D_45UZKb.js 3.03 kB │ gzip: 1.24 kB
../dist/desktop/assets/global-C0YlQLpG.js 144.70 kB │ gzip: 46.45 kB
../dist/desktop/assets/index-CqdRH-9R.js 149.15 kB │ gzip: 44.63 kB
../dist/desktop/assets/main-C9QY5ZlJ.js 2,729.27 kB │ gzip: 661.72 kB
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 12.97s
• electron-builder version=25.1.8 os=10.0.26100
• artifacts will be published if draft release exists reason=CI detected
• loaded configuration file=D:\a\aethex-forge\aethex-forge\electron-builder.yml
• skipped dependencies rebuild reason=npmRebuild is set to false
• packaging platform=win32 arch=x64 electron=32.3.3 appOutDir=dist\win-unpacked
• downloading url=https://github.com/electron/electron/releases/download/v32.3.3/electron-v32.3.3-win32-x64.zip size=113 MB parts=8
• downloaded url=https://github.com/electron/electron/releases/download/v32.3.3/electron-v32.3.3-win32-x64.zip duration=859ms
• updating asar integrity executable resource executablePath=dist\win-unpacked\AeThex Desktop Terminal.exe
icon directory D:\a\aethex-forge\aethex-forge\build\icons doesn't contain icons
github.com/develar/app-builder/pkg/icons.CollectIcons
/Users/runner/work/app-builder/app-builder/pkg/icons/collect-icons.go:73
github.com/develar/app-builder/pkg/icons.doConvertIcon
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:199
github.com/develar/app-builder/pkg/icons.ConvertIcon
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222
main.main
/Users/runner/work/app-builder/app-builder/main.go:90
runtime.main
/Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/proc.go:267
runtime.goexit
/Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_amd64.s:1650
github.com/develar/app-builder/pkg/icons.doConvertIcon
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:201
github.com/develar/app-builder/pkg/icons.ConvertIcon
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
/Users/runner/work/app-builder/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
/Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222
main.main
/Users/runner/work/app-builder/app-builder/main.go:90
runtime.main
/Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/proc.go:267
runtime.goexit
/Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_amd64.s:1650
D:\a\aethex-forge\aethex-forge\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1 failedTask=build stackTrace=Error: D:\a\aethex-forge\aethex-forge\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Exit code:
1
at ChildProcess.<anonymous> (D:\a\aethex-forge\aethex-forge\node_modules\builder-util\src\util.ts:255:14)
at Object.onceWrapper (node:events:639:26)
at ChildProcess.emit (node:events:524:28)
at ChildProcess.cp.emit (D:\a\aethex-forge\aethex-forge\node_modules\cross-spawn\lib\enoent.js:34:29)
at maybeClose (node:internal/child_process:1104:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
From previous event:
at processImmediate (node:internal/timers:483:21)
From previous event:
at WinPackager.signApp (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\winPackager.ts:270:27)
at WinPackager.doSignAfterPack (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\platformPackager.ts:346:32)
at WinPackager.doPack (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\platformPackager.ts:331:7)
at WinPackager.pack (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\platformPackager.ts:138:5)
at Packager.doBuild (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\packager.ts:459:9)
at executeFinally (D:\a\aethex-forge\aethex-forge\node_modules\builder-util\src\promise.ts:12:14)
at Packager.build (D:\a\aethex-forge\aethex-forge\node_modules\app-builder-lib\src\packager.ts:393:31)
at executeFinally (D:\a\aethex-forge\aethex-forge\node_modules\builder-util\src\promise.ts:12:14)
Error: Process completed with exit code 1.