macOS DMG release + notarisation option#2748
Draft
dm807cam wants to merge 12 commits into
Draft
Conversation
Switched packager: PyInstaller → py2app (more macOS-native, better notarization story, no Windows-AV-style baggage). New workflow: .github/workflows/build-macos-dmg-py2app.yaml replaces the old build-macos-dmg-pyinstaller.yaml. New py2app config: setup/macos/setup_py2app.py — excludes WebEngine/Qml/Quick/WebSockets to trim bundle size. Reuses part_assets.yml: compiles .ts → .qm, builds sample.zip, the PDF manual, and optional icon themes once, then shares them with the macOS jobs (addresses all three of the maintainer's feedback points). Builds both architectures: matrix over macos-14 (Apple Silicon / arm64) and macos-13 (Intel / x86_64). Canonical Info.plist: runs pkgutils.py gen-plist and overwrites py2app's default so version, bundle identifier (io.novelwriter.novelWriter), and .nwx document type are correct. Asset path fix-up: post-build cp -R places assets/ where config.py expects it in frozen mode (Contents/Resources/lib/python3.X/assets/). libenchant bundled: copies libenchant-2.dylib, enchant-2/ plugins, and share/enchant/ into the .app so spell-check works on machines without Homebrew (dictionaries themselves still TBD). Ad-hoc signed with entitlements: uses App.entitlements + Hardened Runtime, with a plain-ad-hoc fallback. Structured to swap in Developer ID + notarization once the Apple Developer account is set up. DMG output: novelWriter-<version>-<arch>.dmg + .sha256, uploaded as a workflow artifact and published to a rolling latest-mac prerelease.
Owner
|
Thanks! I'll have a look when I get a chance, although I'm a bit swamped for the next few days. |
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.
Brings back macOS DMG releases via a GitHub Actions workflow that builds, signs, notarizes, and attaches a .dmg to the release tag. Built with PyInstaller, reusing the existing part_assets.yml so the bundle contains everything novelWriter expects at runtime.