Skip to content

Feature/macOS dmg and icons#36

Merged
monil2233 merged 2 commits into
GenieClient:mainfrom
dylb0t:feature/macos-dmg
Jun 3, 2026
Merged

Feature/macOS dmg and icons#36
monil2233 merged 2 commits into
GenieClient:mainfrom
dylb0t:feature/macos-dmg

Conversation

@dylb0t
Copy link
Copy Markdown
Collaborator

@dylb0t dylb0t commented Jun 2, 2026

Pull Request

Summary

Added dmg packaging for macOS, with icon, and also added icon to exe build.

Type of Change

  • Bug fix
  • [ x ] New feature
  • Documentation update
  • Plugin update
  • Map update
  • Build/tooling change
  • Other

Testing

Able to test on local macOS but needs some verification from a windows client.

Checklist

  • [ x ] I kept this pull request focused and reasonably scoped
  • [ x ] I tested the change where practical
  • [ x ] I updated documentation if needed
  • [ x ] I understand this contribution will be distributed under the repository’s existing license

dylb0t added 2 commits June 1, 2026 21:32
Velopack ships macOS as a .pkg installer + a Portable .zip (a zipped .app)
but emits no .dmg. Add a step to the velopack-osx-arm64 and velopack-osx-x64
jobs that wraps the same .app in a drag-install .dmg (hdiutil, two-step
UDRO→UDZO) so Mac users get the familiar "drag to Applications" flow.

- Runs after `vpk pack`, before the rename step, so the Velopack Portable
  .zip still has its deterministic name (Genie5-osx-Portable.zip /
  Genie5-osx-x64-Portable.zip — verified locally with vpk 1.1.1).
- Output is pre-named (02-macOS-Apple-Silicon-Genie5.dmg /
  03-macOS-Intel-Genie5.dmg) so the existing `velopack-releases/*` attach
  glob uploads it with no further wiring.

Verified locally end-to-end: vpk pack → unzip portable → hdiutil → a 45 MB
.dmg that mounts with Genie5.app + an /Applications symlink.
The vpk pack steps didn't pass --icon, so every produced package used
Velopack's generic DefaultApp icon. Point each platform job at the repo's
icon assets (the set donated by @dylb0t):

  - Windows  → src/Genie.App/Assets/app.ico
  - Linux    → src/Genie.App/Assets/app.png
  - macOS    → src/Genie.App/Assets/app.icns  (arm64 + x64)

This gives the real Genie 5 icon to the Setup.exe/shortcut, the AppImage,
the .app, and — combined with the previous commit — the macOS drag-install
.dmg.

Verified locally with vpk 1.1.1 on macOS: the packed Genie5.app embeds our
app.icns byte-for-byte (Info.plist CFBundleIconFile = app.icns). The
Windows/Linux --icon wiring is the same flag with the platform-appropriate
format; it runs on each native runner in CI.
@monil2233 monil2233 requested review from monil2233 and removed request for monil2233 June 3, 2026 01:52
@monil2233
Copy link
Copy Markdown
Contributor

Approved — clean change, no conflicts with anything else in the workflow. All three icon files (.ico, .png, .icns) are already in the repo, so the new --icon flags will work.

One thing for later (not a blocker): the new .dmg will trigger macOS's "developer can't be verified" warning until we sign + notarize through an Apple Developer account — same situation Windows is in until we wire up code signing.

Thanks for the careful comments — every choice has a reason next to it, which made this an easy review.

@monil2233 monil2233 merged commit a9e31ed into GenieClient:main Jun 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants