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

Reply via email to