flet-dev/Build Flet app

Build Flet apps for Android, iOS, macOS, Linux, Windows, and web.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
targetTarget passed to `flet build`. Supported values are `apk`, `aab`, `ipa`, `ios-simulator`, `macos`, `linux`, `windows`, and `web`. Use macOS runners for Apple targets (`ipa`, `ios-simulator` & `macos`), Linux runners for `linux`, and Windows for `windows`; Android and Web can run on all three runners.yes
working-directoryDirectory containing the Flet project's `pyproject.toml`. Relative paths are resolved from the repository workspace. Defaults to the repository root.no.
runner-python-versionPython interpreter used by uv to resolve the project environment and run the Flet CLI, for example `3.12`. When set, it takes precedence over the project's interpreter selection. When empty, uv resolves Python from the project configuration.no""
bundled-python-versionPython version bundled into the built application, for example `3.13`. This is passed to `flet build --python-version` and is independent of `runner-python-version`. When empty (the default), Flet resolves it from `project.requires-python` of the `pyproject.toml`, then falls back to its latest supported version.no""
build-numberInternal, incrementing build identifier, commonly `github.run_number`. This is passed to `flet build --build-number`. When empty (the default), falls back to `[tool.flet].build_number` in `pyproject.toml`.no""
build-versionUser-facing release version in `x.y.z` form, such as `1.4.0`. This is passed to `flet build --build-version` and overrides the version in `pyproject.toml`. When empty, Flet uses project or template configuration.no""
output-directoryDirectory for the raw build output. Relative paths are resolved from `working-directory`. The directory is deleted and recreated by Flet for each build. Defaults to `build/<target>`.no""
extra-argsAdditional arguments for `flet build`, provided as one shell-like string, for example `--split-per-abi --arch arm64`. Arguments are parsed without shell evaluation. Prefer `pyproject.toml` for persistent configuration. `--output`, `--python-version`, `--build-number`, and `--build-version` must use their dedicated Action inputs. Docs: https://flet.dev/docs/publishno""
cacheWhether to enable caching of uv downloads, the Flutter SDK, and the Flet download cache to speed up repeated runs. Defaults to `true`. Disable this when troubleshooting caches or managing them separately, by setting it to `false`.notrue
install-linux-dependenciesWhether to install (using `apt-get`) the system packages reported by Flet for a Linux desktop build. Defaults to `true`. Set it to `false` when using a pre-provisioned or non-Debian runner. Its value is ignored on non-Linux targets.notrue
archive-outputWhether to create one platform-aware archive after the build. When `true` (the default), produces ZIP files for all targets except Linux, which produces tar.gz to preserve permissions and symlinks. When using `actions/upload-artifact`, keep `archive-output` enabled and set `upload-artifact`'s `archive` option to `false`. If `archive-output` is `false`, this action does not create an archive and `archive-path` is empty.notrue
namedescription
output-pathAbsolute path to the raw directory produced by `flet build`. Useful for signing, deployment, or custom processing in later steps of the same job.
archive-pathAbsolute path to the portable archive (ZIP or tar.gz) of the build output. It is empty when the `archive-output` input property is `false`.
flet-versionResolved Flet CLI version used for the build.
flutter-versionFlutter SDK version required by the resolved Flet version.