8000
Skip to content

chore: Move Linux build and client dependencies in flet.utils to further simplify CI workflow#6383

Open
ndonkoHenri wants to merge 12 commits intorelease/v0.85.0from
linux-deps-as-util
Open

chore: Move Linux build and client dependencies in flet.utils to further simplify CI workflow#6383
ndonkoHenri wants to merge 12 commits intorelease/v0.85.0from
linux-deps-as-util

Conversation

@ndonkoHenri
Copy link
Copy Markdown
Contributor
@ndonkoHenri ndonkoHenri commented Apr 5, 2026

Reopening due to accidental close of #6357

Summary by Sourcery

Centralize Linux build and client dependency definitions in the Python SDK and extend CI to build and pack a desktop test app across platforms.

New Features:

  • Add workflow job to build and pack the desktop test application for Linux, macOS, and Windows using flet pack with configurable extra arguments.
  • Expose Linux build and client dependency lists from flet.utils for reuse in CI and documentation.

Enhancements:

  • Refactor CI workflows and publish docs examples to read Linux dependencies dynamically from flet.utils instead of hardcoding apt packages.
  • Adjust Git and Flutter version error logging to write to stderr instead of stdout.
  • Tighten workflow path triggers and introduce shared environment variables for repository paths in build workflows.

CI:

  • Split out a dedicated cross-platform pack job in the build workflow, including artifact upload for packed binaries.
  • Parameterize extra arguments for flet build and flet pack via workflow_dispatch inputs.
  • Reuse Python-defined Linux dependency lists in CI workflows to simplify maintenance and keep dependencies consistent.

Documentation:

  • Update publishing documentation to install Linux build dependencies via the new flet.utils helpers instead of an inline apt package list.

Copy link
Copy Markdown
Contributor
@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've reviewed this pull request using the Sourcery rules engine

@cloudflare-workers-and-pages
Copy link
Copy Markdown
cloudflare-workers-and-pages bot commented Apr 5, 2026

Deploying flet-website-v2 with  Cloudflare Pages  Cloudflare Pages

Latest commit: e06ae1a
Status: ✅  Deploy successful!
Preview URL: https://5fbc5653.flet-website-v2.pages.dev
Branch Preview URL: https://linux-deps-as-util.flet-website-v2.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link
Copy Markdown
cloudflare-workers-and-pages bot commented Apr 5, 2026

Deploying flet-examples with  Cloudflare Pages  Cloudflare Pages

Latest commit: e06ae1a
Status: ✅  Deploy successful!
Preview URL: https://ef10bccb.flet-examples.pages.dev
Branch Preview URL: https://linux-deps-as-util.flet-examples.pages.dev

View logs

Copy link
Copy Markdown
Contributor
Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Centralizes Linux apt dependency lists into the Python flet.utils package and updates CI/docs workflows to consume those canonical lists, reducing duplication and simplifying future maintenance of dependency sets.

Changes:

  • Added flet.utils.linux_deps with canonical Linux build/client apt dependency sets, and re-exported them via flet.utils.
  • Updated CI/workflow YAML and publish docs to install Linux deps by querying flet.utils.*_dependencies_apt instead of duplicating package lists.
  • Improved version-related error logging to write to stderr, and extended the build-test workflow with a new pack job.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
sdk/python/packages/flet/src/flet/version.py Routes version discovery/parsing errors to stderr.
sdk/python/packages/flet/src/flet/utils/linux_deps.py Introduces canonical Linux apt dependency tuples + space-joined strings for workflows.
sdk/python/packages/flet/src/flet/utils/__init__.py Re-exports Linux dependency constants via flet.utils.
sdk/python/packages/flet/docs/publish/index.md Updates workflow example to consume flet.utils.linux_build_dependencies_apt.
.github/workflows/flet-build-test.yml Uses canonical Linux deps, adds version patching, fixes path filters, and adds a new pack job.
.github/workflows/ci.yml Uses canonical Linux client deps for Flutter Linux client build step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/flet-build-test.yml Outdated
Comment thread sdk/python/packages/flet/src/flet/utils/linux_deps.py Outdated
Comment thread sdk/python/packages/flet/src/flet/utils/linux_deps.py Outdated
Comment thread .github/workflows/flet-build-test.yml
Comment thread .github/workflows/flet-build-test.yml
@FeodorFitsner
Copy link
Copy Markdown
Contributor

Re-target this branch to release/v0.85.0 and add changelog record.

@ndonkoHenri ndonkoHenri changed the base branch from main to release/v0.85.0 April 12, 2026 18:07
Comment thread sdk/python/packages/flet/src/flet/utils/linux_deps.py Outdated
@ndonkoHenri ndonkoHenri requested a review from FeodorFitsner 8000 April 14, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

0