feat: add reusable Flutter build actions for android, ios, macos, windows, and linux
Update README Actions Table / update-readme (push) Successful in 7s
Update README Actions Table / update-readme (push) Successful in 7s
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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
|
||||
|
||||
```yaml
|
||||
- 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'
|
||||
```
|
||||
Reference in New Issue
Block a user