typelevel / sbt-typelevel

Let sbt work for you.
https://typelevel.org/sbt-typelevel/
Apache License 2.0
164 stars 44 forks source link

A potential regression in `v0.7.0`: `tlPrePrBotHook` produces an empty diff but `scalafix` brings some changes #702

Open danicheg opened 2 months ago

danicheg commented 2 months ago

I'm not sure if this is a bug or some changes in behaviour brought in v0.7.0. So I apologise in advance! Details are here https://github.com/http4s/sbt-http4s-org/pull/260#issuecomment-2067997072.

armanbilge commented 2 months ago

Hm, are you sure its a regression? Did it used to work differently?

tlPrePrBotHook currently doesn't run Scalafix. I think I decided against this because running Scalafix requires compiling the entire repository and I was afraid to ask Steward to be doing so much work. https://github.com/typelevel/sbt-typelevel/blob/9371b958593a516ce960a6b9a37a05aa09c82191/core/src/main/scala/org/typelevel/sbt/TypelevelPlugin.scala#L89-L91

danicheg commented 2 months ago

Hm, are you sure its a regression? Did it used to work differently?

In the beginning, it was kind of 50% certainty, for now, it's like 10% 😆 I was always thinking that prePR runs everything from formatting code/headers to Scalafix. If not, how do we set up running Scalafix in CI with sbt-typelevel then?

armanbilge commented 2 months ago

I was always thinking that prePR runs everything from formatting code/headers to Scalafix.

Yes, that's correct. This one is for users to run on their local machine.

But tlPrePrBotHook is a "lighter weight" version because I was afraid to burden the Steward with too much work to compile every repository for every sbt-typelevel update. But I just remembered that Steward already runs some scalafix rules sometimes. If those are working in the same way, then maybe it not as much of a problem as I feared.