Skip to content

Comments

Enable dynamic generation of assets for Edge UI Plugin#56456

Merged
jscheffl merged 20 commits intoapache:mainfrom
jscheffl:feature/enable-dynamic-build-of-edge-ui-assets
Feb 11, 2026
Merged

Enable dynamic generation of assets for Edge UI Plugin#56456
jscheffl merged 20 commits intoapache:mainfrom
jscheffl:feature/enable-dynamic-build-of-edge-ui-assets

Conversation

@jscheffl
Copy link
Contributor

@jscheffl jscheffl commented Oct 7, 2025

So far the generated UI assets for Edge Worker React Plugin were manually compiled and checked-in the repo. This is a bit slowing down parallel development as the generated assets always generate merge conflicts and checking in compiled/generated code in general is not good.

This PR changes the way for Edge to compile React UI assets when breeze start-airflow as well as when Wheel/Sdist is packaged.

This is WIP/Draft to have an early review. Especially looking forward for review by @potiuk as within this PR we need to enable building providers with hatchling selectively which has an impact on reproducible builds and CI ecosystem.

before completion:

  • Check that generated package from provider generation is complete and "similar" to previous release / deployment test -> Checked. Hatchling and Flit have a difference but high-level looks good!

A follow-up of this PR would be apply the same to FAB provider and Fab UI.

@potiuk
Copy link
Member

potiuk commented Oct 13, 2025

I looked at things we can do, and I think the easiest thing (and also something we could also switch to in airflow-core is https://github.com/rmorshea/hatch-build-scripts. This way we wil likely be able to get rid of hatch_build.py altogether most likely and only rely on running prek to install npm and build the assets

@potiuk
Copy link
Member

potiuk commented Oct 13, 2025

Also - as discussed - we will have to move the pre-commit config for the provider to inside of it (which is now possible with prek monorepo support)

@jscheffl jscheffl force-pushed the feature/enable-dynamic-build-of-edge-ui-assets branch from 9055674 to 575670b Compare November 11, 2025 21:01
@jscheffl
Copy link
Contributor Author

@potiuk as during our jogging-roud - rebase of ~1200 commits.

Since then the pre-commit config has been split. Still this is the proposal but quite complex. Have any thoughts matured how to make dynamic asset building possible by other means of rework of provider packaging?

@jscheffl jscheffl force-pushed the feature/enable-dynamic-build-of-edge-ui-assets branch from d56e9d6 to a98d655 Compare February 11, 2026 18:14
@jscheffl jscheffl force-pushed the feature/enable-dynamic-build-of-edge-ui-assets branch from a98d655 to 9d09609 Compare February 11, 2026 21:29
@jscheffl jscheffl merged commit 1ca772b into apache:main Feb 11, 2026
131 checks passed
ytoprakc pushed a commit to ytoprakc/airflow that referenced this pull request Feb 12, 2026
* Enable dynamic generation of assets for Edge UI Plugin

* Review feedback

* Revert changes in template and other providers pyproject.toml

* Fixes in config

* Exclude __init__.py

* Ensure assets are generated on provider packaging

* Script beautification

* Ensure assets are compiled always

* Fix static checks by lazy loading providers details

* Fix missing dist in pytest

* Fix static check on openapi-spec generation for edge

* build assets via pnpm to prevent static check fails

* build assets via pnpm to prevent static check fails

* Fix hatch to ensure dist is compiled

* Call hatch in the venv of breeze tool

* Call asset generation script directly w/o prek

* Re-add prek dependency during provider build, add prek to GH pipeline

* Review feedback and fixes

* Use empty env for hatch build for providers

* Add prek for constrains generation
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
* Enable dynamic generation of assets for Edge UI Plugin

* Review feedback

* Revert changes in template and other providers pyproject.toml

* Fixes in config

* Exclude __init__.py

* Ensure assets are generated on provider packaging

* Script beautification

* Ensure assets are compiled always

* Fix static checks by lazy loading providers details

* Fix missing dist in pytest

* Fix static check on openapi-spec generation for edge

* build assets via pnpm to prevent static check fails

* build assets via pnpm to prevent static check fails

* Fix hatch to ensure dist is compiled

* Call hatch in the venv of breeze tool

* Call asset generation script directly w/o prek

* Re-add prek dependency during provider build, add prek to GH pipeline

* Review feedback and fixes

* Use empty env for hatch build for providers

* Add prek for constrains generation
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
* Enable dynamic generation of assets for Edge UI Plugin

* Review feedback

* Revert changes in template and other providers pyproject.toml

* Fixes in config

* Exclude __init__.py

* Ensure assets are generated on provider packaging

* Script beautification

* Ensure assets are compiled always

* Fix static checks by lazy loading providers details

* Fix missing dist in pytest

* Fix static check on openapi-spec generation for edge

* build assets via pnpm to prevent static check fails

* build assets via pnpm to prevent static check fails

* Fix hatch to ensure dist is compiled

* Call hatch in the venv of breeze tool

* Call asset generation script directly w/o prek

* Re-add prek dependency during provider build, add prek to GH pipeline

* Review feedback and fixes

* Use empty env for hatch build for providers

* Add prek for constrains generation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-tools area:providers provider:edge Edge Executor / Worker (AIP-69) / edge3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants