I do like the sound of this. :thumbs-up:
________________________________ From: Jarek Potiuk <[email protected]> Sent: Tuesday, July 19, 2022 3:00 PM To: [email protected] Subject: [EXTERNAL] [PROPOSAL] Simplification of www asset compilation for Breeze/dev env CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. Hello everyone. I wanted to propose a slight change (but also simplification and speedup) of our dev env for the www asset compilation. I am on a spree of optimizing our CI/Dev environment (with quite a success so far - the new Python-based breeze is a wonderful tool that allows all kinds of optimizations - for one I just merged two change that will cut the build time for our k8s pretty much by half). Those changes are largely transparent (just waiting time decreases for everyone :)) But I have one more change that might (very slightly) impact the dev environment, while it will also decrease the waiting/build times for breeze locally so I wanted to announce it here. The PR is here: https://github.com/apache/airflow/pull/25169 The gist of the change is that it moves all "node" asset compilation out from the image to the host - but I am also harnessing `pre-commit`s automated environment setup - so you will not have to worry about node/yarn setup - pre-commit will do it for you. Very little changes if you used breeze: * when you run `start-airflow` assets will be automatically compiled by breeze/pre-commit (so UI will work out of the box). This previously happened inside the image * when you run `prepare-airflow-package` - same thing happen - the package will have compiled packages ready * the asset compilation locally caches node_modules/assets locally, so only first build will take more time * you can run `breeze compile-www-assets` to force-compiling the assets any time The benefits of the change: * CI images will be smaller and rebuild faster (no nodejs in the images any more) * Dockerfiles are WAY simpler as they do not have to account for compiling the assets and optimizing it * we used to have multiple scripts to compile assets - now we only have `breeze compile-www-assets` that runs 'pre-commit manual run` under the hood * the lint pre-commits are also using the same environment, so they do not need the image any more - way simpler setup and execution Overall - 400 lines of code :) I hope you will like it. Brent, Pierre -please take a look as it will mostly impact you (but I think the impact will be vastly positive). J.
