feat: complete desktop app build for all platforms (icons, macOS multi-arch, CI, docs)#11
Merged
Merged
Conversation
…orkflows and docs - Add desktop/resources/icon.png (512x512), icon.ico (multi-size), icon.icns (multi-size) - Fix package.json: set artifactName per platform, remove hardcoded mac arch - Update release-desktop.yml: split macOS into x64 (macos-13) and arm64 (macos-latest) runners, upgrade to action-gh-release@v2, use platform-specific build commands - Update desktop-build.yml: split macOS build job into x64 and arm64 - Update README.md: accurate download table (4 platforms), correct direct download links - Update desktop/README.md: separate macOS arm64/x64 entries, per-arch build commands Agent-Logs-Url: https://github.com/SynTechRev/ODIA/sessions/7469ac40-b9fa-41ff-9ec2-0542dc809e3a Co-authored-by: SynTechRev <235390103+SynTechRev@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
SynTechRev
April 13, 2026 05:46
View session
There was a problem hiding this comment.
Pull request overview
Enables reliable cross-platform packaging and releasing of the Electron desktop app by adding the missing build resources (icons), producing deterministic artifact names, and updating CI workflows to build macOS per-architecture.
Changes:
- Added
desktop/resources/with platform-valid icons required byelectron-builder. - Updated
desktop/package.jsonelectron-builderconfig to remove macOS universal targeting and to emit deterministic per-platform artifact names. - Updated GitHub Actions workflows to split macOS builds into x64 and arm64 runners, pass explicit arch flags, and upload only the intended artifacts to releases.
Reviewed changes
Copilot reviewed 5 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates download table/links to list separate macOS arm64 vs x64 DMGs. |
| desktop/resources/icon.png | Adds Linux icon resource required by electron-builder. |
| desktop/resources/icon.ico | Adds Windows icon resource required by electron-builder. |
| desktop/resources/icon.icns | Adds macOS icon resource required by electron-builder. |
| desktop/README.md | Updates installer naming and documents per-arch macOS build commands. |
| desktop/package.json | Sets per-platform artifactName and removes macOS multi-arch bundling from a single build. |
| .github/workflows/release-desktop.yml | Splits macOS into x64/arm64 jobs, passes arch flags, upgrades release action, narrows uploaded globs. |
| .github/workflows/desktop-build.yml | Aligns build matrix naming with platform, adds macOS x64 runner, and adjusts build steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
102
to
+106
| - name: Build backend | ||
| working-directory: desktop | ||
| run: npm run build:backend | ||
| run: | | ||
| npm ci | ||
| npm run build:backend |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The desktop app could not build on any platform:
desktop/resources/was missing entirely (electron-builder hard-fails on absent icon paths), macOS was configured to bundle both x64+arm64 from a single runner despite the PyInstaller binary being native-arch only, the NSIS artifact name used spaces (breaking glob patterns), andaction-gh-releasewas on v1.Icons
Added
desktop/resources/with programmatically generated, format-valid icons:icon.png— 512×512 RGBA (Linux AppImage)icon.ico— 16/32/48/256px multi-size (Windows NSIS)icon.icns— 16/32/128/256/512px multi-size (macOS DMG)desktop/package.jsonarch: ["x64", "arm64"]from mac target — was bundling an arm64 Python binary into the x64 DMG and vice versaartifactNameper platform for deterministic output filenames:ODIA-Setup-{version}.exe,ODIA-{version}-{arch}.dmg,ODIA-{version}.AppImageCI workflows (
release-desktop.yml,desktop-build.yml)macos-13(Intel/x64) andmacos-latest(Apple Silicon/arm64), each producing a correctly matched Python + Electron binary--x64or--arm64toelectron-builderexplicitlyrelease-desktop.yml: upgraded tosoftprops/action-gh-release@v2; each job now uploads only its own artifact glob rather than the entiredist/directoryDocs (
README.md,desktop/README.md)