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.
>
>
>
>
>
>
>

Reply via email to