Skip to content

Docs claim Swift build produces a DMG, but no script in-tree does #1456

@cfbraun

Description

@cfbraun

Problem

packaging/README.md (Installation section) currently states:

  1. Open the DMG produced by the Swift build.

But after #1355 (which removed packaging/build.py's create_dmg / sign_app / bundle pipeline), nothing in the repo actually creates a .dmg:

  • apps/omlx-mac/Scripts/build.sh release produces oMLX.app only — no DMG step (grep -rn "hdiutil\|create-dmg\|\\.dmg" apps/omlx-mac/Scripts/ returns nothing)
  • No CI workflow under .github/workflows/ creates one either
  • The Swift updater (AppUpdater.swift) consumes DMGs from GitHub Releases but doesn't make them

The DMGs at https://github.com/jundot/omlx/releases presumably come from a maintainer-side script that isn't in the public tree.

Impact

Developers building locally from packaging/README.md end up with build/Stage/oMLX.app but no DMG, contradicting the install instructions one section down. The drop-Swift-replaces-PyObjC migration removed the DMG-producing code without replacing it or updating the docs.

Suggested fixes

Either:

  1. Add an opt-in DMG step to apps/omlx-mac/Scripts/build.sh — e.g. a --dmg flag that wraps $STAGED_APP with hdiutil create -volname oMLX -srcfolder ... -format UDZO. Keeps the default flow unchanged for the auto-rebuild / Xcode-run loop, but gives local builders a documented way to produce a DMG matching the Releases shape. Update packaging/README.md to reflect the new flag.

  2. Or remove the DMG claim from packaging/README.md and document that DMGs only come from official releases.

I'll open a PR doing (1) since it lines up with the README's existing wording. Open to either resolution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions