Tracks activation of the desktop publishing channels. The CI wiring is (or will shortly be) merged and skip-safe — every workflow below sits dormant and skips cleanly until its secrets exist, so releases behave exactly as today until each box is checked.
Recommended order: start the three account verifications first (Azure identity validation, Apple Developer enrollment, Partner Center company verification — each has days of external lead time), then work down each channel.
1. Windows Authenticode signing — Azure Trusted Signing (#6217)
Everything else on Windows (winget moderation, MS Store submission, SmartScreen reputation) depends on this landing first.
2. winget (#6217)
3. Microsoft Store (#6243)
4. macOS signing + notarization (prereq for Homebrew)
release.yml already gates on SIGN_MACOS, but note the known gap: nothing imports the certificate into the runner keychain, so setting the four APPLE_* secrets alone would break the macOS leg rather than sign it.
5. Homebrew cask (#6219)
Do not seed the cask until a signed + notarized DMG exists — brew quarantines cask installs, so users of the current ad-hoc-signed DMG would hit the Gatekeeper "damaged app" dialog.
🤖 Opened with Claude Code
Tracks activation of the desktop publishing channels. The CI wiring is (or will shortly be) merged and skip-safe — every workflow below sits dormant and skips cleanly until its secrets exist, so releases behave exactly as today until each box is checked.
Recommended order: start the three account verifications first (Azure identity validation, Apple Developer enrollment, Partner Center company verification — each has days of external lead time), then work down each channel.
1. Windows Authenticode signing — Azure Trusted Signing (#6217)
Everything else on Windows (winget moderation, MS Store submission, SmartScreen reputation) depends on this landing first.
AZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRETAZURE_TRUSTED_SIGNING_ENDPOINT(regional URL, e.g.https://eus.codesigning.azure.net)AZURE_TRUSTED_SIGNING_ACCOUNTAZURE_TRUSTED_SIGNING_CERT_PROFILE2. winget (#6217)
microsoft/winget-pkgs(machine account or maintainer)WINGET_TOKEN— classic PAT,public_reposcope (fine-grained PATs not supported by winget-releaser)Meshtastic.MeshtasticDesktopmanifest by hand (wingetcreate new <signed MSI release-asset URL>) — winget-releaser only updates existing packages; use a signed MSI or moderation may bounce itmicrosoft/winget-pkgsandwinget install Meshtastic.MeshtasticDesktopworks3. Microsoft Store (#6243)
MSSTORE_TENANT_IDMSSTORE_SELLER_ID(Partner Center → Account settings)MSSTORE_PRODUCT_ID(app overview page)MSSTORE_CLIENT_IDMSSTORE_CLIENT_SECRET4. macOS signing + notarization (prereq for Homebrew)
release.ymlalready gates onSIGN_MACOS, but note the known gap: nothing imports the certificate into the runner keychain, so setting the fourAPPLE_*secrets alone would break the macOS leg rather than sign it.apple-actions/import-codesign-certs) torelease.ymlbefore the build, plus P12 secrets (e.g.APPLE_CERT_P12+APPLE_CERT_PASSWORD)APPLE_SIGNING_IDENTITY(Developer ID Application: … (TEAMID))APPLE_IDAPPLE_APP_SPECIFIC_PASSWORD(from appleid.apple.com, for notarytool)APPLE_TEAM_IDspctl -a -t open --context context:primary-signature/ Gatekeeper clean on a fresh Mac)5. Homebrew cask (#6219)
Do not seed the cask until a signed + notarized DMG exists — brew quarantines cask installs, so users of the current ad-hoc-signed DMG would hit the Gatekeeper "damaged app" dialog.
HOMEBREW_TAP_TOKEN— PAT with contents + pull-requests write onmeshtastic/homebrew-tap(org owner must authorize; fine-grained PAT or machine account)meshtastic/homebrew-tappasses the tap'sbrew test-botCIbrew install --cask meshtastic/tap/meshtastic-desktopandbrew upgradeon arm64🤖 Opened with Claude Code