Markdown

Publishing

Publish desktop applications

The pipeline builds installers for macOS, Windows, and Linux, signs them if you want, and uploads macOS apps to the Mac App Store when needed.

On this page

The pipeline builds installable packages and uploads them to the platform’s download storage; from there you distribute them yourself. Store connections exist for the Mac App Store and the Microsoft Store, not for the Snap Store.

Platform Package Pipeline jobs
macOS (direct distribution) .dmg build-flutter-macos-*publish-macos-*
macOS (Mac App Store) .pkg build-flutter-macos-appstorepublish-macos-storerelease-macos-store
Windows Installer (.exe) build-flutter-windowspublish-windows
Linux .deb and .rpm build-flutter-linuxpublish-linux

The manual release-macos-* jobs are the approval step for macOS; the general flow is described under Git workflow and deployment.

macOS: signing, notarization, and Mac App Store

The project has four settings for macOS. App Store Account (macOS) sets the App Store Connect credentials. Sign & notarize with Developer ID produces signed, notarized DMGs for distribution outside the store. Publish to the Mac App Store builds a .pkg with Mac App Store certificates and uploads it to App Store Connect. Public S3 download publishes the signed DMGs and requires Developer ID signing.

For the Mac App Store, the app must exist in App Store Connect with the macOS platform; the pipeline creates certificates and profiles through Fastlane Match.

Note
Without App Store Connect credentials or the Developer ID option, the pipeline produces unsigned DMGs, which users have to allow via Open Anyway.

Windows: signing and Microsoft Store

The pipeline signs Windows installers through Azure Artifact Signing with the values from Azure Artifact Signing credentials. For the Microsoft Store you need a Partner Center account (Microsoft Store developer account) and Microsoft Store credentials, which you assign to the Windows project. The first submission and the age rating are done once in Partner Center; the store only accepts signed builds.