That's awesome Jarek, thank you for this :) Regards, Pavan
On Wed, Apr 2, 2025 at 1:09 PM Jarek Potiuk <ja...@potiuk.com> wrote: > You might also want to do *docker system prune* or even *docker system > prune --all* or run *breeze doctor* to clean-up some stale cache, images, > docker volumes > > Also IntelliJ/PyCharm users *uv run setup_idea.py* will add some missing > directories and regenerate your IntelliJ project configuration. > > > > > > On Wed, Apr 2, 2025 at 1:11 PM Jarek Potiuk <ja...@potiuk.com> wrote: > > > Hello here, > > > > As part of the packaging work - I merged the > > https://github.com/apache/airflow/pull/48223 > > > > *TL;DR; Rebase all PRS, rebuild images and uv sync - and > > hopefully everything should work as before even if a lot of things moved. > > Hopefully the move will be largely transparent (except changing *include: > > in open PRs in docs). * > > > > *NOTE! UV is now mandatory and a lot of code is gone thanks to that. > > Breeze will also refuse to work if uv is not installed.* > > > > It took a bit of time, but we are in a much more standard and better > shape > > now - and as a side effect (which was intended but I had to implement it > as > > part of that monster PR to fix documentation) we now have a much simpler > > (more guidelines are coming) way to iterate on doc building. > > > > *Few important things first: * > > > > 1) Make sure to rebase your PRs, Run `breeze image build`, Rnu `uv sync`. > > Due to the way git handles things - you ** might ** have some dangling > > generated directories in your repo and they might cause some problems. > Run > > "git status" after rebase and see you have some files you need to delete > > (manually) > > > > 2) If you are brave enough - you might want to run `breeze doctor` and > > cleanup git repo - it should clean all files that should be removed, but > > also it might remove some of your custom configurations and files you > > created, > > > > 3) Generally everything should work as it worked before with breeze (for > > example `breeze build-docs` command works as before. But a number of > > folders/distributions/code (not airflow nore providers directly) were > > moved/updated. For now you can just continue to build docs as before - > with > > breeze. But simpler/faster ways are coming as follow up. > > > > 4) If you have some new examples or documentation included in your PRs > the > > doc build might start falling for you - but this is because `include::` > or > > `exampleinclude:` might need to be updated - look at other examples - I > > fixed the includes in all providers. More explanation in follow-up doc > > build improvement PR - in the meantime, feel free to ask on slack or PR > for > > help. > > > > *Generated provider_dependencies.json do not need to be updated* > > > > The "generated/provider_dependencies.json" is no longer committed to the > > repo - it is .gitignored. We are generating it as-needed on the flight. > It > > should be automatically regenerated when you run pre-commits locally and > > when you build the breeze image. > > > > There might be some cases when we add dependencies and you will need to > > regenerate it but that should happen automatically as needed. > > > > *New, updated folders* > > > > The change are mostly with these: > > > > ./dev/pyproject.toml > > ./devel-common/pyproject.toml > > ./doc > > ./docker-stack-docs > > ./providers-summary-docs > > > > *More explanation for distributions/folder changes* > > > > The dev is now a separate distribution with its own pyproject.toml > > dependencies that are used for all the release management and general dev > > housekeeping. This is different from "devel-common" which is a common > > package with a lot of common code reused for tests and builds (including > > doc builds scripts are using). > > > > We might want to change names later, as they are confusing but I will > > leave that discussion for later when we complete all the isolation work - > > with those changes I implemented it will be very easy (as opposed to how > it > > was) to move those distributions around - and if we will want to > > restructure it again, that will be a very simple move. > > > > *Improved doc structure* > > > > This is because we finally made the last step - where the "doc" code is > > moved to "devel-common" and we are importing it from there, also each > > distribution has it's own "conf.py" and that makes modifying docs > building > > and our sphinx building scripts MUCH more readable ana mangeable. The > "doc" > > code now contains just spelling wordlist and README.md explaining where > to > > look for the documentation. > > > > Those new top-level folders ("docker-stack-docs" and > > "providers-summary-docs") - contain the two independent pieces of our > > documentation ("docker-stack" and "apache-airflow-providers" package > names > > from "breeze build-docs" command. > > > > The REALLY nice thing now is that the doc files are not copied between > > places and each of the docs folder (including each of the 90 providers > docs > > folder) has it's own "conf.py", which makes the "docs" folder for them > > "isolated" and "fully self-contained" - which will open up the ways on > much > > more friendly sphinx workflows. Wait for it ! Coming **just in time** > when > > we most need it - when we want to start updating the docs for Airflow 3. > > > > J. > > > > > > > > > > > > > > >