Thank you for the effort Jarek!

I am looking forward to having a simpler life building docs. Personally it
was a nightmare for me earlier.
Will shout out if / when I get to that stage.

Thanks & Regards,
Amogh Desai


On Wed, Apr 2, 2025 at 10:37 PM Buğra Öztürk <ozturkbugr...@gmail.com>
wrote:

> Amazing news! Thanks for the huge effort Jarek! :)
>
> On Wed, 2 Apr 2025, 18:45 Pavankumar Gopidesu, <gopidesupa...@gmail.com>
> wrote:
>
> > 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.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to