On Wed, Aug 14, 2024 at 4:49 PM Christopher <ctubb...@apache.org> wrote:

> On Wed, Aug 14, 2024 at 6:06 PM Yuxuan Wang
> <yuxuan.w...@reddit.com.invalid> wrote:
> >
> > >by simply running `gradle spotlessApply`. It was trivially easy to fix,
> > and anybody could have done it.
> >
> > but that requires "anybody" to have gradle setup on their dev machine,
> and
> > not everybody is java/jvm developer with gradle setup :)
> >
> > yes for people contributing java/kotlin PR that breaks build they
> *probably*
> > already have gradle setup, but there are still exceptions (like me trying
> > to fix the failed build just by looking at the code without gradle
> setup).
> > that's not always true *after* the broken code is already merged and
> > someone just tries to fix the build.
> >
> > and I think I've seen it at least a few times that the github dependency
> > bot tries to upgrade the spotless plugin to a new version which would
> start
> > to fail the code that passed before for style reasons. so people need to
> > either reject the PR, or have gradle setup and run gradle to fix the code
> > that's starting to break before merging the dependency PR, which I think
> > essentially reduces the pool of maintainers to response to those
> dependency
> > PRs (while our number is already not great).
> >
>
> I think it's reasonable for a java contributor to have it set up
> already, but I understand it can be a problem for others. So, I agree
> that committers need to do a better job of rejecting things that fail
> the checks so the responsibility isn't left to others to fix it
> afterwards. The same is true for dependabot PRs. Those should not be
> merged if they cause a failure.
>
> > what do you think if we keep the spotless and ktfmt steps, but add
> > `continue-on-error: true` (
> >
> https://protect.checkpoint.com/v2/___https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions%23jobsjob_idstepscontinue-on-error)?___.YzJ1OnJlZGRpdDpjOmc6OWI0ZTQ3YmI0NzZlOTI3OWQ4ZGYzNzY2OTBmODRhNzg6NjoyNzVkOjZlNTZiNjVmNWNkNDA1MDVlY2Q4MTEwYWYwNDljZGZlOTIxNmFiYjliOTMzODAyOTMwMjQ1YTAxNzdhNzM1MWQ6cDpUOk4
> > if the code truly not builds (like the recent commit) it would still fail
> > the later steps on the CI, but if it's purely style issue, that at least
> > allows us to run cross-tests?
>
> I think that's a good solution, but I worry that it will encourage
> committers to ignore the checks and accept PRs that break checks.
>

yea I have the same concern.

I think currently the build is fixed so I'm good. maybe we can bring this
up again the next time it fails :)


>
> >
> > On Wed, Aug 14, 2024 at 2:37 PM Christopher <ctubb...@apache.org> wrote:
> >
> > > I strongly disagree with this. spotless doesn't just standardize
> > > formatting, but also checks for a wide variety of code quality issues
> > > that people should address. Just because the check is getting ignored
> > > and not fixed right away doesn't mean the solution is to remove the
> > > check. It means more attention needs to be paid to fix what the check
> > > is failing.
> > >
> > > Also, spotless depends on compilation step. It's just the entry point
> > > into the build, not just a formatting check. If you remove the
> > > spotless check without adding a compilation step, then no checks are
> > > done at all that verify the code even builds.
> > >
> > > Also, it's very easy for anybody to fix most spotless checks.
> > >
> > > The real problem is that people are accepting PRs and merging them
> > > when the PR fails the check. The person who made the edit that caused
> > > the breakage should fix their PR before accepting it. This isn't just
> > > a problem for formatting/style issues. This is a problem with basic
> > > compilability. Recently a commit got into the Java code that didn't
> > > even compile at all, and ended up needing a new PR to fix it. If the
> > > build failure were attended to instead of ignored, that wouldn't have
> > > happened.
> > >
> > > I trivially fixed the spotless check this afternoon in
> > >
> > >
> https://protect.checkpoint.com/v2/___https://github.com/apache/thrift/pull/3019___.YzJ1OnJlZGRpdDpjOmc6NWYxODdjYjFkYmUzM2IzNjI4NmRhNDdiM2ZhMWZmYWU6NjpjZDdjOmQ5N2ZhNzBlNDdiZjRiNWVhOWUyYjRkMDRlMWJhOWQ1YzM5NTRiYzBjZTJjYWJkY2IxODZhZGViYjNmMDhmNGU6cDpUOk4
> > > by simply running `gradle
> > > spotlessApply`. It was trivially easy to fix, and anybody could have
> > > done it.
> > >
> > > I'm a strong "no" against removing the spotless check.
> > >
> > > On Wed, Aug 14, 2024 at 4:53 PM Yuxuan Wang
> > > <yuxuan.w...@reddit.com.invalid> wrote:
> > > >
> > > > I created
> > >
> https://protect.checkpoint.com/v2/___https://github.com/apache/thrift/pull/3020___.YzJ1OnJlZGRpdDpjOmc6NWYxODdjYjFkYmUzM2IzNjI4NmRhNDdiM2ZhMWZmYWU6Njo4MmZkOjQ2MjYxNWYyYjdiN2NlYWRhMjgzOGMxNTUxMThkZTFkMTg3ODBkMGI3MzQ1ZmE4MGUwOTMyOTY0ZjYyZGExZTI6cDpUOk4
> > > as a test to see how
> > > > that works.
> > > >
> > > > That PR also includes changes in
> > >
> https://protect.checkpoint.com/v2/___https://github.com/apache/thrift/pull/3019___.YzJ1OnJlZGRpdDpjOmc6NWYxODdjYjFkYmUzM2IzNjI4NmRhNDdiM2ZhMWZmYWU6NjpjODhkOjE3MWQ2ZTc3YTQyZDlhZmQzMTE3ZDc5ZWFjNDI5NzIwN2U5MjczYmIyOGE5Nzc5MzI0MDNmZGY4ZjJjMGNkNTk6cDpUOk4
> > > ,
> > > > as otherwise the java lib code won't even build. Which I think shows
> > > > another issue with the spotless check currently: it hides bigger
> problem
> > > > that could cause the java lib to stop building, as when spotless
> check
> > > > fails we stops CI early and won't know whether the java lib builds.
> > > >
> > > > On Wed, Aug 14, 2024 at 9:42 AM Yuxuan Wang <yuxuan.w...@reddit.com>
> > > wrote:
> > > >
> > > > > From my observation of the past few years, every time the github
> > > > > dependency bot upgrades the spotless plugin version, it will start
> to
> > > fail
> > > > > something that passed before. And it usually takes months for
> someone
> > > to
> > > > > fix those, if they are ever fixed.
> > > > >
> > > > > While having some enforcement on styling is great, making those
> > > > > enforcements to break builds (and also block cross tests from
> running)
> > > for
> > > > > months is not. If we don't have the resources to keep the styles
> > > > > up-to-date, then maybe sacrificing some styling in favor of actual
> > > cross
> > > > > tests is a better approach?
> > > > >
> > >
>

Reply via email to