Skip to content

feat(desktop): ship-readiness metadata & CI scaffolding#5132

Draft
jamesarich wants to merge 2 commits intomainfrom
desktop/ship-readiness-metadata
Draft

feat(desktop): ship-readiness metadata & CI scaffolding#5132
jamesarich wants to merge 2 commits intomainfrom
desktop/ship-readiness-metadata

Conversation

@jamesarich
Copy link
Copy Markdown
Collaborator

@jamesarich jamesarich commented Apr 14, 2026

Summary

Prepares the Desktop target for release by filling all identified metadata, CI, and documentation gaps.

Changes

desktop/build.gradle.kts

  • Set Windows upgradeUuid for stable MSI in-place upgrades
  • Wire macOS signing/notarization behind SIGN_MACOS env flag
  • Rename packageName to "Meshtastic Desktop"
  • Fix truncated macOS JVM property (apple.menu.about.name)
  • Add macOS appCategory (utilities)
  • Add Windows shortcut, menu, dirChooser
  • Add Linux debMaintainer, appCategory, rpmLicenseType

desktop/entitlements.plist

  • Add network.client and device.usb entitlements

.github/workflows/release.yml

  • Pass VERSION_CODE env var to release-desktop job (was missing)
  • Add SIGN_MACOS + Apple signing env vars to packaging step
  • Add actions/attest-build-provenance@v4 for desktop artifacts
  • Add notify-desktop-release Discord notification job
  • Declare new optional secrets in workflow contract

.github/release.yml

  • Add 🖥️ Desktop changelog category (keyed on desktop label)

RELEASE_PROCESS.md

  • Rewrite to cover both Android and Desktop release flows
  • Document build_desktop toggle, artifact matrix, macOS signing secrets, version alignment, and Flatpak reference

README.md

  • Add Desktop download section under "Get Meshtastic"

docs/roadmap.md

  • Update Packaging row with new capabilities and Flatpak reference

Remaining Human-Action Items

  • Add CI secrets: APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID, DISCORD_WEBHOOK_DESKTOP
  • Gather Apple Developer certs
  • Windows Authenticode signing (separate tooling)
  • Flip build_desktop to true in create-or-promote-release.yml when ready
  • Land Flatpak PR Gradle: Add flatpakGradleGenerator task #4807

- Set Windows upgradeUuid for stable MSI upgrades
- Wire macOS signing/notarization behind SIGN_MACOS env flag
- Fix VERSION_CODE passthrough to release-desktop CI job
- Rename packageName to "Meshtastic Desktop"
- Fix truncated macOS JVM property (apple.menu.about.name)
- Add macOS appCategory, entitlements (network, USB)
- Add Windows shortcut/menu/dirChooser options
- Add Linux debMaintainer, appCategory, rpmLicenseType
- Add desktop build attestation step in release workflow
- Add Discord notification job for desktop releases
- Add desktop category to release notes config
- Update RELEASE_PROCESS.md with full desktop release docs
- Add desktop download section to README.md
- Update roadmap with packaging status and Flatpak reference

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesarich jamesarich added the desktop Desktop target label Apr 14, 2026
@github-actions github-actions bot added enhancement New feature or request repo Repository maintenance labels Apr 14, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesarich jamesarich marked this pull request as ready for review April 14, 2026 21:04
@jamesarich jamesarich marked this pull request as draft April 14, 2026 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

desktop Desktop target enhancement New feature or request repo Repository maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant