Publishing your project

Publishing desktop applications

Installers for Windows, macOS, and Linux from the pipeline – including optional macOS signing and Mac App Store.

On this page

For desktop platforms, your app’s pipeline builds ready-made installer packages and provides them for download:

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 / .rpm build-flutter-linuxpublish-linux

Direct-distribution publish jobs upload packages to the platform’s download storage – from there you distribute them e.g. via your homepage or directly to users. For macOS there are also manual release-macos-* jobs as an approval step.

macOS: signing, S3, and Mac App Store

In the project composer you can configure macOS separately:

  1. App Store Account (macOS) – App Store Connect credentials (for signing and store upload)
  2. Sign & notarize with Developer ID – signed, notarized DMGs for direct distribution (outside the Mac App Store)
  3. Publish to the Mac App Store – separate pipeline path with Mac App Store certificates, .pkg, and upload to App Store Connect
  4. Public S3 download – publishes signed DMGs publicly (requires Developer ID signing)
Note
Without App Store Connect credentials (or with Developer ID signing disabled), the pipeline builds unsigned DMGs – users may need to allow the app via “Open anyway” in System Settings.

For the Mac App Store, the app must already exist in App Store Connect (including the macOS platform). The pipeline creates Mac App Store certificates and profiles via Fastlane Match when needed.

Other desktop stores

Direct publishing to the Microsoft Store and Snap Store is currently not yet supported – distribution runs via the installer downloads.

See also