The monorepo support seems to be really awesome! I will be trying it soon. I am even more excited for when we split the checks from a big chunk of checks into separate checks per distro -- that will make it manageable and more efficient too.
Thanks & Regards, Amogh Desai On Mon, Sep 15, 2025 at 6:49 PM Vincent Beck <[email protected]> wrote: > Very nice! > > On 2025/09/14 16:33:41 Jarek Potiuk wrote: > > Prek 0.2.0 has been released (big milestone!) with monorepo support. > > The https://github.com/apache/airflow/pull/54615 is merged now with > golang > > separation. We will follow with more separation and splitting our prek > > hooks in the coming weeks :). > > > > Generally - no change in the way how things are used but you have to run > > `prek install` to reinstall prek git hook -> you will get warning to do > so > > when you run prek without reinstalling it. > > > > You can now enter `go-sdk` and `prek run` will only run go checks, or run > > `prek -c .pre-commit-config.yml` to only run "main folder" checks. There > > are many ways workspace setup can be used - there is a brand new > > documentation on using prek workspace here: > > https://github.com/j178/prek/blob/master/docs/workspace.md - again when > we > > split prek hooks even further this will become much more useful, where > you > > will be able to only run checks for core, providers, task-sdk, helm > > separately. > > > > J. > > > > > > On Mon, Aug 25, 2025 at 3:00 PM Jarek Potiuk <[email protected]> wrote: > > > > > Merged https://github.com/apache/airflow/pull/54917 - you will have > to > > > upgrade prek after rebase to main `uv tool upgrade --all` is your > friend > > > again. > > > > > > BTW, This one was largely done with Copilot. Another good AI case ;). > > > > > > On Mon, Aug 25, 2025 at 4:18 PM Jarek Potiuk <[email protected]> wrote: > > > > > >> Speaking of which: https://github.com/apache/airflow/pull/54917 -> > > >> changing all our prek scripts to PEP-723 inline dependencies (and min > prek > > >> version set to 0.1.3) > > >> > > >> J. > > >> > > >> > > >> On Fri, Aug 22, 2025 at 12:37 PM Jarek Potiuk <[email protected]> > wrote: > > >> > > >>> Yeah. There are a few UX issues I pointed at and Jo is working on > them. > > >>> > > >>> BTW. We also have other improvements coming that might soon make us > > >>> start departing from `pre-commit` - even earlier than with monorepo > support. > > >>> > > >>> Namely: https://github.com/j178/prek/issues/509 that will allow us > to > > >>> move most of the dependencies for Python hooks to be inline PEP 723 > > >>> compliant dependencies without duplicating them with > .pre-commit-config.yaml > > >>> This one is actually very cool, because it will allow for much easier > > >>> testing and development of prek hooks > > >>> > > >>> uv run ./scripts/ci/prek/hoook_name.py files .... > > >>> > > >>> Also there is a discussion in pip to implement PEP-723 - finally - > > >>> https://github.com/pypa/pip/issues/12891 - and then you will be > able to > > >>> also run such scripts with just *pep* without having to have an > explicit > > >>> venv - which IMHO is a game-changer for Python scripts. > > >>> > > >>> I will also try to figure out a way how we can make pre-commit fail > with > > >>> our configuration, ideally with some message that will guide people > to stop > > >>> using it. I have some ideas, but I am not sure how far it will go. > > >>> > > >>> J. > > >>> > > >>> > > >>> On Fri, Aug 22, 2025 at 7:28 AM Amogh Desai <[email protected]> > > >>> wrote: > > >>> > > >>>> The monorepo support will be a game changer in terms of repo > > >>>> organisation! > > >>>> > > >>>> Looking forward to the initial PR getting merged so that we can > expand > > >>>> it > > >>>> across various distributions in our repo and keep the prek hooks > minimal > > >>>> and focused per distribution! > > >>>> > > >>>> Thanks & Regards, > > >>>> Amogh Desai > > >>>> > > >>>> > > >>>> On Wed, Aug 20, 2025 at 5:33 PM Jarek Potiuk <[email protected]> > wrote: > > >>>> > > >>>> > With https://github.com/apache/airflow/pull/54726 that I just > merged > > >>>> which > > >>>> > uses prek 0.1.1 released not even an hour ago, we are now > getting a > > >>>> (more > > >>>> > than) full parity with pre-commit (the auto-update feature was the > > >>>> only one > > >>>> > missing for our CI) . > > >>>> > > > >>>> > I bumped the minimum version of prek to `0.1.1` in the config > file, > > >>>> so you > > >>>> > will have to run `uv tool upgrade prek` or similar to get the > latest > > >>>> > version. > > >>>> > > > >>>> > I believe that kind-of-ends the initial teething period of > > >>>> > "switching from pre-commit to prek". I don't foresee we'll have to > > >>>> bump the > > >>>> > minimum version of `prek` that frequently. > > >>>> > > > >>>> > The next milestone (barring some potential bug fixes) and minimum > > >>>> version > > >>>> > bump I expect is when we get monorepo support and split our > > >>>> > .pre-commit-config.yaml into a number of smaller ones. This looks > very > > >>>> > promising with https://github.com/apache/airflow/pull/54615 - and > > >>>> feel > > >>>> > free > > >>>> > to test it and provide any feedback in > > >>>> > https://github.com/j178/prek/pull/481 > > >>>> > > > >>>> > J. > > >>>> > > > >>>> > On Mon, Aug 18, 2025 at 5:57 PM Buğra Öztürk < > [email protected] > > >>>> > > > >>>> > wrote: > > >>>> > > > >>>> > > Amazing news! I switched just after merge and even used it in a > PR. > > >>>> > > Everything looks smooth. Thanks Jarek and all! > > >>>> > > > > >>>> > > Bugra Ozturk > > >>>> > > > > >>>> > > On Mon, 18 Aug 2025, 17:45 Jarek Potiuk, <[email protected]> > wrote: > > >>>> > > > > >>>> > > > 0.0.29 is merged so you will have to update (but you will get > the > > >>>> > > warning). > > >>>> > > > BTW - if someone tried the `URL` install to install prek, the > way > > >>>> to > > >>>> > get > > >>>> > > > back to released versions is > > >>>> > > > > > >>>> > > > uv tool install --force --upgrade prek > > >>>> > > > > > >>>> > > > (Just hit this one) . > > >>>> > > > J. > > >>>> > > > > > >>>> > > > > > >>>> > > > On Mon, Aug 18, 2025 at 4:09 PM Jarek Potiuk < > [email protected]> > > >>>> wrote: > > >>>> > > > > > >>>> > > > > And... (apart from addressing a few teething issues and > quickly > > >>>> > bumping > > >>>> > > > > versions of prek to 0.0.28 and soon 0.0.29) :): > > >>>> > > > > > > >>>> > > > > Jo has already pushed a PR with the preliminary monorepo / > > >>>> workspace > > >>>> > > > > support. I created a very draft PR on how separating go-sdk > > >>>> > > > > .pre-commit-config.yaml could look like: > > >>>> > > > > * https://github.com/apache/airflow/pull/54615 -> > separating > > >>>> golang > > >>>> > > > > .pre-commit-config.yaml > > >>>> > > > > * The PR in prek that implements it -> already with my first > > >>>> comments > > >>>> > > > > where tried it: > > >>>> > > > > > https://github.com/j178/prek/pull/481#issuecomment-3196986281 > > >>>> > > > > > > >>>> > > > > You can try it yourself also and provide comments: > > >>>> > > > > > > >>>> > > > > 1. Install the in-progress version of prek with workspaces > > >>>> > > > > > > >>>> > > > > uv tool install "prek @ git+ > > >>>> > https://github.com/j178/prek.git@workspace > > >>>> > > " > > >>>> > > > > > > >>>> > > > > 2. Checkout my PR in airflow repo: > > >>>> > > > > > > >>>> > > > > gh co 54615 > > >>>> > > > > > > >>>> > > > > 3. Play > > >>>> > > > > > > >>>> > > > > J. > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > On Mon, Aug 18, 2025 at 3:07 PM Kaxil Naik < > [email protected] > > >>>> > > > >>>> > > wrote: > > >>>> > > > > > > >>>> > > > >> I switched too, thank you guys > > >>>> > > > >> > > >>>> > > > >> On Mon, 18 Aug 2025 at 07:18, Amogh Desai < > > >>>> [email protected]> > > >>>> > > > wrote: > > >>>> > > > >> > > >>>> > > > >> > Just made the switch! > > >>>> > > > >> > > > >>>> > > > >> > Thank you, Jo, Jarek and Ash! > > >>>> > > > >> > > > >>>> > > > >> > Thanks & Regards, > > >>>> > > > >> > Amogh Desai > > >>>> > > > >> > > > >>>> > > > >> > > > >>>> > > > >> > On Sun, Aug 17, 2025 at 5:36 PM Zhe-You Liu < > > >>>> [email protected] > > >>>> > > > > >>>> > > > >> wrote: > > >>>> > > > >> > > > >>>> > > > >> > > I just switched to `prek`, and it runs smoothly and > > >>>> quickly. > > >>>> > > > >> > > Thank you, Jarek, Jo, and Ash! > > >>>> > > > >> > > > > >>>> > > > >> > > Best regards, > > >>>> > > > >> > > Jason > > >>>> > > > >> > > > > >>>> > > > >> > > On Sun, Aug 17, 2025 at 6:59 PM Pavankumar Gopidesu < > > >>>> > > > >> > > [email protected]> > > >>>> > > > >> > > wrote: > > >>>> > > > >> > > > > >>>> > > > >> > > > Woohoo great work Jarek thank you :) > > >>>> > > > >> > > > > > >>>> > > > >> > > > Thank you Jo and ash. > > >>>> > > > >> > > > > > >>>> > > > >> > > > Pavan > > >>>> > > > >> > > > > > >>>> > > > >> > > > On Sun, Aug 17, 2025 at 9:27 AM Aritra Basu < > > >>>> > > > >> [email protected]> > > >>>> > > > >> > > > wrote: > > >>>> > > > >> > > > > > >>>> > > > >> > > > > This is a good change, looking forward to seeing it > > >>>> adopted > > >>>> > > more > > >>>> > > > >> > > > > -- > > >>>> > > > >> > > > > Regards, > > >>>> > > > >> > > > > Aritra Basu > > >>>> > > > >> > > > > > > >>>> > > > >> > > > > On Sun, 17 Aug 2025, 12:36 pm Jarek Potiuk, < > > >>>> > [email protected] > > >>>> > > > > > >>>> > > > >> > wrote: > > >>>> > > > >> > > > > > > >>>> > > > >> > > > > > Hello everyone, > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *TL;DR: Please switch from pre-commit to prek for > > >>>> your > > >>>> > local > > >>>> > > > >> > > > development, > > >>>> > > > >> > > > > > please, at your earliest convenience.* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > Following the discussion in > > >>>> > > > >> > > > > > > > >>>> > > > >> > > >>>> https://lists.apache.org/thread/mb73g4rz56n5l0gjyzm9jzolnkkc6o5c I > > >>>> > > > >> > > > just > > >>>> > > > >> > > > > > merged > https://github.com/apache/airflow/pull/54258 > > >>>> that > > >>>> > > > >> switches > > >>>> > > > >> > > > > > `pre-commit` we used for several years to `prek` > in > > >>>> CI and > > >>>> > > > >> breeze. > > >>>> > > > >> > > The > > >>>> > > > >> > > > > > `prek` tool is faster, leaner and has already > more > > >>>> > features > > >>>> > > we > > >>>> > > > >> > wanted > > >>>> > > > >> > > > to > > >>>> > > > >> > > > > > have in the last few years for pre-commit and we > had > > >>>> to > > >>>> > add > > >>>> > > > >> them in > > >>>> > > > >> > > > > breeze > > >>>> > > > >> > > > > > - a lot of them added in a matter of last few > days > > >>>> in the > > >>>> > > > >> course of > > >>>> > > > >> > > > > > collaboration with the author. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > In short what everyone should do now (at earliest > > >>>> > > > convenience): > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *uv tool install prek* > > >>>> > > > >> > > > > > *prek install -f* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > That's all you need to do, to switch. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > The documentation on how to use`prek` is updated > in > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > > >>>> > > > >> > > > > > >>>> > > > >> > > > > >>>> > > > >> > > > >>>> > > > >> > > >>>> > > > > > >>>> > > > > >>>> > > > >>>> > https://github.com/apache/airflow/blob/main/contributing-docs/08_static_code_checks.rst > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > Here is the short(?) recap: > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *On running prek:* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > Running pre-commit hooks is as easy as running > > >>>> `*prek*`. > > >>>> > > That > > >>>> > > > >> > should > > >>>> > > > >> > > > work > > >>>> > > > >> > > > > > in most cases out-of-the-box (no need even to add > > >>>> `run`). > > >>>> > If > > >>>> > > > you > > >>>> > > > >> > have > > >>>> > > > >> > > > > > `prek` installed with `prek install` - it will > just > > >>>> run > > >>>> > > > >> > automatically > > >>>> > > > >> > > > > when > > >>>> > > > >> > > > > > you commit your code. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > We removed `breeze static-checks` because `prek` > > >>>> > implements > > >>>> > > > >> > > practically > > >>>> > > > >> > > > > all > > >>>> > > > >> > > > > > the functionality we had to add in breeze in > order to > > >>>> > > > compensate > > >>>> > > > >> > for > > >>>> > > > >> > > > lack > > >>>> > > > >> > > > > > of cooperation from pre-commit maintainers > > >>>> (auto-commit, > > >>>> > > > >> > > --last-commit, > > >>>> > > > >> > > > > > --only-my-changes . When you run `breeze static > > >>>> check` you > > >>>> > > > will > > >>>> > > > >> > see a > > >>>> > > > >> > > > > > removal message and instructions on how to > switch to > > >>>> prek. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > One notable change is that breeze's > > >>>> `--only-my-changes ` > > >>>> > can > > >>>> > > > be > > >>>> > > > >> > > > achieved > > >>>> > > > >> > > > > > with `*prek --from-ref main*` (and it also works > now > > >>>> for > > >>>> > > past > > >>>> > > > >> > > branches > > >>>> > > > >> > > > if > > >>>> > > > >> > > > > > you are working on PR that was branched from > > >>>> v3-0-test > > >>>> > for > > >>>> > > > >> example > > >>>> > > > >> > > > > (`prek > > >>>> > > > >> > > > > > --from-ref v3-0-test` ) > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *On why we switched:* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > The `prek` tool is written in Rust and *Jo* > (sorry I > > >>>> > > > misspelled > > >>>> > > > >> > your > > >>>> > > > >> > > > name > > >>>> > > > >> > > > > > before): https://github.com/j178 - has gone > above > > >>>> and > > >>>> > > > beyond > > >>>> > > > >> and > > >>>> > > > >> > > > > > accommodated all our comments and issues we found > > >>>> during > > >>>> > the > > >>>> > > > >> > > > development. > > >>>> > > > >> > > > > > Including the likely toughest decision ever on > > >>>> changing > > >>>> > name > > >>>> > > > >> from > > >>>> > > > >> > > > > prefligit > > >>>> > > > >> > > > > > to prek. A lot of people helped to test it and > > >>>> reported > > >>>> > (and > > >>>> > > > >> helped > > >>>> > > > >> > > > > fixing > > >>>> > > > >> > > > > > some initial issue) and with 0.0.26 released > > >>>> yesterday, > > >>>> > > `prek` > > >>>> > > > >> > seems > > >>>> > > > >> > > to > > >>>> > > > >> > > > > be > > >>>> > > > >> > > > > > ready to be used in our CI and local development. > > >>>> The last > > >>>> > > > issue > > >>>> > > > >> > that > > >>>> > > > >> > > > was > > >>>> > > > >> > > > > > blocker, was with pseudo-terminal allocation and > > >>>> colors in > > >>>> > > the > > >>>> > > > >> > > failure > > >>>> > > > >> > > > > > output from ruff and others. It is a pleasure to > > >>>> work with > > >>>> > > Jo > > >>>> > > > >> (and > > >>>> > > > >> > I > > >>>> > > > >> > > > > > started to learn a bit rust while doing so :D). > Big > > >>>> > thanks > > >>>> > > to > > >>>> > > > >> Jo > > >>>> > > > >> > for > > >>>> > > > >> > > > the > > >>>> > > > >> > > > > > dedication and persistence and > > >>>> "user-focused-thinking". > > >>>> > > Thanks > > >>>> > > > >> to > > >>>> > > > >> > Ash > > >>>> > > > >> > > > for > > >>>> > > > >> > > > > > all the encouragement for Jo as well and all the > > >>>> initial > > >>>> > > push > > >>>> > > > >> of us > > >>>> > > > >> > > in > > >>>> > > > >> > > > > the > > >>>> > > > >> > > > > > "prefligit" direction. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > There are more things to come and we have a way > to > > >>>> force a > > >>>> > > > >> minimum > > >>>> > > > >> > > > > version > > >>>> > > > >> > > > > > of prek when we start using the upcoming versions > > >>>> > > > >> > > > (`minimum_prek_version` > > >>>> > > > >> > > > > > is now set to 0.0.26). > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *On pre-commit compatibility:* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > For now, the .pre-commit-config.yaml is > compatible > > >>>> with > > >>>> > the > > >>>> > > > >> latest > > >>>> > > > >> > > > > > pre-commit (it will just raise a warning now as > > >>>> > > > >> > prek_minimum_version > > >>>> > > > >> > > is > > >>>> > > > >> > > > > > unknown to it). You can continue using > `pre-commit` > > >>>> for a > > >>>> > > > while > > >>>> > > > >> - > > >>>> > > > >> > but > > >>>> > > > >> > > > > this > > >>>> > > > >> > > > > > warning will remind you to switch to `prek` at > > >>>> earliest > > >>>> > > > >> > convenience. > > >>>> > > > >> > > At > > >>>> > > > >> > > > > > some point of time when `prek` will have better > > >>>> monorepo > > >>>> > > > >> support we > > >>>> > > > >> > > > will > > >>>> > > > >> > > > > > likely split our pre-commit config to multiple > files > > >>>> at > > >>>> > > which > > >>>> > > > >> point > > >>>> > > > >> > > we > > >>>> > > > >> > > > > will > > >>>> > > > >> > > > > > only support `prek` (unless pre-commit will > catch up > > >>>> and > > >>>> > > > >> implement > > >>>> > > > >> > > > > > compatible feature, but I have no high hopes for > > >>>> that) > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *If you have errors:* > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > Of course we should be watching for any teething > > >>>> issues - > > >>>> > so > > >>>> > > > >> please > > >>>> > > > >> > > > > report > > >>>> > > > >> > > > > > any issues in #contributors or > > >>>> #internal-airflow-ci-cd > > >>>> > Slack > > >>>> > > > >> > > channels. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > If needs be - you can switch back to pre-commit > by: > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > *prek uninstall* > > >>>> > > > >> > > > > > *pre-commit install * > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > J. > > >>>> > > > >> > > > > > > > >>>> > > > >> > > > > > > >>>> > > > >> > > > > > >>>> > > > >> > > > > >>>> > > > >> > > > >>>> > > > >> > > >>>> > > > > > > >>>> > > > > > >>>> > > > > >>>> > > > >>>> > > >>> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
