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 <ozturkbugr...@gmail.com> 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, <ja...@potiuk.com> 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 <ja...@potiuk.com> 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 <kaxiln...@gmail.com> > wrote: > > > > > >> I switched too, thank you guys > > >> > > >> On Mon, 18 Aug 2025 at 07:18, Amogh Desai <amoghde...@apache.org> > > 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 <zhu424....@gmail.com> > > >> 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 < > > >> > > gopidesupa...@gmail.com> > > >> > > wrote: > > >> > > > > >> > > > Woohoo great work Jarek thank you :) > > >> > > > > > >> > > > Thank you Jo and ash. > > >> > > > > > >> > > > Pavan > > >> > > > > > >> > > > On Sun, Aug 17, 2025 at 9:27 AM Aritra Basu < > > >> aritrabasu1...@gmail.com> > > >> > > > 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, <ja...@potiuk.com > > > > >> > 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. > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > > > >