Skip to content

feat(macos): universal .app/.pkg/.dmg packages, signing/notarization CI and Homebrew cask - #1689

Open
manuc66 wants to merge 1 commit into
masterfrom
feature/macos-packaging
Open

feat(macos): universal .app/.pkg/.dmg packages, signing/notarization CI and Homebrew cask#1689
manuc66 wants to merge 1 commit into
masterfrom
feature/macos-packaging

Conversation

@manuc66

@manuc66 manuc66 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Adds real macOS distribution to the release pipeline.

What's new

  • node-hp-scan-to-v*-macos.pkg and node-hp-scan-to-v*-macos.dmg on every release, built natively on a dedicated macos CI job (macos-latest).
  • Both wrap a universal2 .app bundle (Intel + Apple Silicon via lipo), with proper icon, Info.plist, bundled config/default.json and the LaunchAgent reference.
  • Code signing + Apple notarization are wired into the pipeline behind secrets (MACOS_SIGNING_IDENTITY, MACOS_INSTALLER_IDENTITY, MACOS_CERT_BASE64/_PASSWORD, MACOS_NOTARY_*). When none are configured the build falls back to unsigned, exactly like the Windows installer today.
  • Homebrew cask (packaging/homebrew/node-hp-scan-to.rb) installing the universal .dmg.

Pipeline

  • binaries job (ubuntu) now uploads the two darwin binaries + all release artifacts.
  • New macos job (needs: binaries) assembles .app, signs, notarizes and builds .pkg/.dmg.
  • New release job (needs: [binaries, macos]) gathers everything, generates checksums/SBOM, attests provenance and attaches to the GitHub release. winget now waits for it.

Verified

  • Full Publish workflow run on this branch: all jobs green, valid .pkg (xar) and .dmg (Apple DMG v4) produced.
  • bash -n, YAML valid, cask ruby -c OK, pnpm lint + typecheck pass.

Note

The macOS binaries were already cross-compiled since 1.11.0; this PR adds the native installer/app packaging on top. Signing/notarization need Apple Developer credentials which are not configured, so artifacts are unsigned for now.

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.

1 participant