[PR #7392] [MERGED] feat: use flutter_distrubutor to build linux and macos packages #7863

Closed
opened 2026-03-23 23:21:31 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/7392
Author: @LucasXu0
Created: 2/17/2025
Status: Merged
Merged: 2/21/2025
Merged by: @LucasXu0

Base: mainHead: linux_deb_and_rpm


📝 Commits (10+)

  • 27dfe3c feat: use flutter_distrubutor to build linux packages
  • d37b59f feat: verify deb on Linux
  • 52ab318 chore: update rpm deps
  • 38f5c06 chore: update codesign files
  • 6767fdb chore: update rpm make_config.yaml
  • 29581c3 Merge branch 'main' into linux_deb_and_rpm
  • e21ce75 chore: update release.yml
  • f163ce5 chore: update release.yml
  • 48e1aa0 Merge branch 'linux_deb_and_rpm'
  • d501922 chore: update feed url

📊 Changes

27 files changed (+828 additions, -170 deletions)

View changed files

📝 .github/workflows/release.yml (+120 -108)
📝 frontend/appflowy_flutter/distribute_options.yaml (+27 -4)
📝 frontend/appflowy_flutter/linux/CMakeLists.txt (+1 -1)
frontend/appflowy_flutter/linux/packaging/appimage/make_config.yaml (+22 -0)
📝 frontend/appflowy_flutter/linux/packaging/deb/make_config.yaml (+2 -1)
📝 frontend/appflowy_flutter/linux/packaging/rpm/make_config.yaml (+2 -1)
frontend/appflowy_flutter/macos/packaging/assets/background.jpg (+0 -0)
frontend/appflowy_flutter/macos/packaging/dmg/make_config.json (+26 -0)
frontend/appflowy_flutter/macos/packaging/dmg/make_config.yaml (+17 -0)
📝 frontend/scripts/docker-buildfiles/Dockerfile (+3 -3)
📝 frontend/scripts/flatpack-buildfiles/dbus-interface.xml (+3 -3)
📝 frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.desktop (+2 -2)
📝 frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.metainfo.xml (+21 -13)
📝 frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.service (+2 -2)
📝 frontend/scripts/flatpack-buildfiles/launcher.sh (+2 -2)
frontend/scripts/flutter_release_build/build_linux.sh (+243 -0)
frontend/scripts/flutter_release_build/build_macos.sh (+297 -0)
📝 frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml (+2 -2)
📝 frontend/scripts/linux_distribution/deb/AppFlowy.desktop (+1 -1)
📝 frontend/scripts/linux_distribution/deb/DEBIAN/postinst (+2 -2)

...and 7 more files

📄 Description

Feature Preview

  • Integrate flutter_distributor
    • build .deb, .rpm, .zip and .appimage packages for Linux.
    • build .dmg, zip packages for macOS.

Linux

To build all package formats at once

./scripts/flutter_release_build/build_linux.sh --build_type all --build_arch x86_64 --version 0.8.4

To build zip package only

./scripts/flutter_release_build/build_linux.sh --build_type zip --build_arch x86_64 --version 0.8.4

To build deb package only

./scripts/flutter_release_build/build_linux.sh --build_type deb --build_arch x86_64 --version 0.8.4

To build rpm package only

./scripts/flutter_release_build/build_linux.sh --build_type rpm --build_arch x86_64 --version 0.8.4

To build appimage package only

./scripts/flutter_release_build/build_linux.sh --build_type appimage --build_arch x86_64 --version 0.8.4

macOS

To build all package formats at once

./scripts/flutter_release_build/build_macos.sh --build_type all --build_arch arm64 --version 0.8.4

To build zip package only

./scripts/flutter_release_build/build_macos.sh --build_type zip --build_arch arm64 --version 0.8.4

To build dmg package only

./scripts/flutter_release_build/build_macos.sh --build_type dmg --build_arch arm64 --version 0.8.4

The macOS script now supports codesigning the zip and dmg files and notarizing the dmg file. You can pass these arguments when building.

./scripts/flutter_release_build/build_macos.sh --build_type dmg --build_arch arm64 --version 0.8.4 --apple-id <apple-id> --team-id <team-id> --password <password>

PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/7392 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 2/17/2025 **Status:** ✅ Merged **Merged:** 2/21/2025 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `linux_deb_and_rpm` --- ### 📝 Commits (10+) - [`27dfe3c`](https://github.com/AppFlowy-IO/AppFlowy/commit/27dfe3c8bbb2292ee439fd860f1218ec4f71ef24) feat: use flutter_distrubutor to build linux packages - [`d37b59f`](https://github.com/AppFlowy-IO/AppFlowy/commit/d37b59f64c1798d11bb14e0e017a8794915ab87e) feat: verify deb on Linux - [`52ab318`](https://github.com/AppFlowy-IO/AppFlowy/commit/52ab3182d96b00a0bff8219970e421300cc5127b) chore: update rpm deps - [`38f5c06`](https://github.com/AppFlowy-IO/AppFlowy/commit/38f5c06f9cd881663f2670a4a2ed8e65efe7bdfe) chore: update codesign files - [`6767fdb`](https://github.com/AppFlowy-IO/AppFlowy/commit/6767fdb15cdd76f74ff625edb95fac60de8e5df8) chore: update rpm make_config.yaml - [`29581c3`](https://github.com/AppFlowy-IO/AppFlowy/commit/29581c38e164e3ea92451574113568b776411188) Merge branch 'main' into linux_deb_and_rpm - [`e21ce75`](https://github.com/AppFlowy-IO/AppFlowy/commit/e21ce758ef028ea99efd843f4cb1d459fdc301fa) chore: update release.yml - [`f163ce5`](https://github.com/AppFlowy-IO/AppFlowy/commit/f163ce5794606880c657d157337c1fde12e0576c) chore: update release.yml - [`48e1aa0`](https://github.com/AppFlowy-IO/AppFlowy/commit/48e1aa0335d7fa93ecc1576fa95d96dfe015707d) Merge branch 'linux_deb_and_rpm' - [`d501922`](https://github.com/AppFlowy-IO/AppFlowy/commit/d501922df35baf1086c408695b8797109db6564d) chore: update feed url ### 📊 Changes **27 files changed** (+828 additions, -170 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/release.yml` (+120 -108) 📝 `frontend/appflowy_flutter/distribute_options.yaml` (+27 -4) 📝 `frontend/appflowy_flutter/linux/CMakeLists.txt` (+1 -1) ➕ `frontend/appflowy_flutter/linux/packaging/appimage/make_config.yaml` (+22 -0) 📝 `frontend/appflowy_flutter/linux/packaging/deb/make_config.yaml` (+2 -1) 📝 `frontend/appflowy_flutter/linux/packaging/rpm/make_config.yaml` (+2 -1) ➕ `frontend/appflowy_flutter/macos/packaging/assets/background.jpg` (+0 -0) ➕ `frontend/appflowy_flutter/macos/packaging/dmg/make_config.json` (+26 -0) ➕ `frontend/appflowy_flutter/macos/packaging/dmg/make_config.yaml` (+17 -0) 📝 `frontend/scripts/docker-buildfiles/Dockerfile` (+3 -3) 📝 `frontend/scripts/flatpack-buildfiles/dbus-interface.xml` (+3 -3) 📝 `frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.desktop` (+2 -2) 📝 `frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.metainfo.xml` (+21 -13) 📝 `frontend/scripts/flatpack-buildfiles/io.appflowy.AppFlowy.service` (+2 -2) 📝 `frontend/scripts/flatpack-buildfiles/launcher.sh` (+2 -2) ➕ `frontend/scripts/flutter_release_build/build_linux.sh` (+243 -0) ➕ `frontend/scripts/flutter_release_build/build_macos.sh` (+297 -0) 📝 `frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml` (+2 -2) 📝 `frontend/scripts/linux_distribution/deb/AppFlowy.desktop` (+1 -1) 📝 `frontend/scripts/linux_distribution/deb/DEBIAN/postinst` (+2 -2) _...and 7 more files_ </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview - [x] Integrate flutter_distributor - [x] build .deb, .rpm, .zip and .appimage packages for Linux. - [x] build .dmg, zip packages for macOS. #### Linux **To build all package formats at once** ```sh ./scripts/flutter_release_build/build_linux.sh --build_type all --build_arch x86_64 --version 0.8.4 ``` **To build zip package only** ```sh ./scripts/flutter_release_build/build_linux.sh --build_type zip --build_arch x86_64 --version 0.8.4 ``` **To build deb package only** ```sh ./scripts/flutter_release_build/build_linux.sh --build_type deb --build_arch x86_64 --version 0.8.4 ``` **To build rpm package only** ```sh ./scripts/flutter_release_build/build_linux.sh --build_type rpm --build_arch x86_64 --version 0.8.4 ``` **To build appimage package only** ```sh ./scripts/flutter_release_build/build_linux.sh --build_type appimage --build_arch x86_64 --version 0.8.4 ``` #### macOS **To build all package formats at once** ``` ./scripts/flutter_release_build/build_macos.sh --build_type all --build_arch arm64 --version 0.8.4 ``` **To build zip package only** ``` ./scripts/flutter_release_build/build_macos.sh --build_type zip --build_arch arm64 --version 0.8.4 ``` **To build dmg package only** ``` ./scripts/flutter_release_build/build_macos.sh --build_type dmg --build_arch arm64 --version 0.8.4 ``` **The macOS script now supports codesigning the zip and dmg files and notarizing the dmg file. You can pass these arguments when building.** ``` ./scripts/flutter_release_build/build_macos.sh --build_type dmg --build_arch arm64 --version 0.8.4 --apple-id <apple-id> --team-id <team-id> --password <password> ``` <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [x] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [x] I've listed at least one issue that this PR fixes in the description above. - [x] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [x] All existing tests are passing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:21:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#7863
No description provided.