2.3 KiB
2.3 KiB
Flutter Build Linux
Composite action to install Linux GTK3 build dependencies, compile Linux Flutter desktop applications, package .deb and .tar.gz installers, and generate release metadata.
Inputs
| Name | Description | Required | Default |
|---|---|---|---|
working_directory |
Path to the Flutter app package directory. | No | . |
arch |
Target Linux architecture (amd64 / x64 or arm64). |
No | amd64 |
build_args |
Extra arguments passed to flutter build linux. |
No | '' |
install_deps |
Install Linux GTK3 & CMake build dependencies via apt-get. |
No | true |
auto_create_linux_runner |
Automatically run flutter create --platforms=linux . if linux/ directory is missing. |
No | true |
output_dir |
Output directory for packaged .deb and .tar.gz archives. |
No | dist |
package_script |
Optional custom packaging script in repository (e.g., scripts/package_linux.sh). |
No | scripts/package_linux.sh |
app_name |
Application display name for .desktop entry. |
No | Slides for Worship |
package_name |
Debian package slug (e.g., slides-for-worship). |
No | slides-for-worship |
binary_name |
Compiled Linux executable name inside bundle (auto-detected if empty). | No | '' |
icon_path |
Path to app icon PNG relative to working_directory. |
No | assets/icon.png |
maintainer |
Debian package maintainer string. | No | Rody Davis <rody.davis.jr@gmail.com> |
description |
Debian package description. | No | Professional worship slide production and presentation studio. |
generate_metadata_json |
Whether to generate linux_<arch>_metadata.json. |
No | false |
Outputs
| Name | Description |
|---|---|
version |
Resolved package version from pubspec.yaml. |
deb_path |
Path to generated .deb package. |
tar_path |
Path to generated .tar.gz archive. |
metadata_path |
Path to generated linux_<arch>_metadata.json. |
Example Usage
- name: Build & Package Linux Release
uses: rodydavis/shared-actions/flutter-build-linux@main
with:
working_directory: packages/sfw_desktop
arch: ${{ matrix.arch }}
build_args: --dart-define=API_BASE_URL=https://slidesforworship.app
generate_metadata_json: 'true'