[wildfly-dev] Tyr - pull request format checker
Brian Stansberry
brian.stansberry at redhat.com
Tue Apr 9 10:20:06 EDT 2019
On Tue, Apr 9, 2019 at 5:39 AM Darran Lofthouse <darran.lofthouse at jboss.com>
wrote:
> Overall if for a tool we don't care if it down and consider it's output to
> be something to ignore it would seem to offer little value, I would suggest
> we aim for it to be available with useful output.
>
>
Yes.
> Will this just be adding a comment or will this also be influencing the
> status of the pull request - i.e. will these reports be affecting the tick
> or the cross visible next to a PR? When looking at the PR queue the ones
> with the green ticks are the easiest to jump into, provided no changes are
> required to the code they are potentially ready to merge - adding false
> crosses would affect this.
>
> On Tue, Apr 9, 2019 at 6:47 AM Martin Stefanko <mstefank at redhat.com>
> wrote:
>
>> > Does the commit check run against all commits in the PR?
>>
>> Not currently, I've added additional checks to verify there is only one
>> commit in the PR :) But this should be possible to do, however, force
>> pushing your way through commit history will not be an easy task.
>>
>
> I think instead it should be checking all commits, it often makes sense to
> break work into logical chunks - often it is easier to review commit by
> commit.
>
For sure I don't want rejection of PRs with multiple commits. It's
perfectly valid to write PRs with multiple commits.
>
> As an example it is a bad practice to bump a subsystem version and add to
> it within a single commit, GitHub provides no way to diff files like
> schemas when that happens so the only way to check is to pull the PR
> locally and manually diff. I suspect the manual diff is a very rare event
> if it happens at all. Component upgrades whilst could be in a single
> commit often make sense to be in individual commits. When working on an
> issue and encountering a related but different bug it makes sense to use a
> separate Jira issue and commit, it is not always practical to submit this
> fix in it's own PR. If working on a piece of work and another engineer
> also follows on you need to ensure you don't modify any shared commits
> etc...
>
> Overall the human code review is still mandatory and part of that review
> would consider the commits and if they make sense.
>
Yes.
I see this tool as helping to encourage people to follow proper practice
and save humans doing code review having to nag people over such things, or
not having the energy to nag, instead accepting things they don't really
want.
> I think something that could be useful could be to list the checks to be
> applied somewhere to make it easier to discuss individually, as this would
> be a change to the WildFly Core and WildFly pull requests it could even
> make sense to submit as a proposal to the wildfly-proposals repo.
>
>
>>
>> > What happens if it is down? I figure nothing really, i.e. the check
>> just isn't performed, which is a quite reasonable failure mode. :)
>>
>> > AIUI this also has no impact on ability to merge PRs; i.e. we can
>> ignore the result same as we can ignore CI job results. Also good.
>>
>> Absolutely right. There will be only one additional status in the list.
>> Everything can be ignored.
>>
>
> Absolutely everything we add to the status list we should be aiming to be
> accurate, CI is complex and a never ending task to keep on top of
> intermittent issues and flaky tests but the objective is still to reach
> that point. We should not be adding something else to this list
> deliberately with false negative reviews.
>
Yes, we want it to be accurate. We also want it to be available.
I think a key way to keep this accurate is to resist the temptation to have
it do more than it should. Don't come up with rules that sound right but
turn out to have valid exceptions or that people just won't follow.
OTOH if the mergers decide they want to do something I don't want a tool
preventing us doing it, which is what my questions were driving at. We're
way smarter than the tool.
>
>
>>
>> > We can run it in CI somewhere if we need to, I'll need to review the
>> docs and see whats required to run it.
>>
>> Ken, I will take this with you offline when it's decided that we can set
>> it up.
>>
>> Martin
>>
>>
>> On Mon, Apr 8, 2019 at 4:15 PM Ken Wills <kwills at redhat.com> wrote:
>>
>>>
>>> On Mon, Apr 8, 2019 at 7:32 AM Martin Stefanko <mstefank at redhat.com>
>>> wrote:
>>>
>>>> Yes, understandable. Maybe it can be run where pull-player is being run
>>>> then? CC Ken.
>>>>
>>>
>>> We can run it in CI somewhere if we need to, I'll need to review the
>>> docs and see whats required to run it.
>>>
>>> For the initial version, I think we should just try it in OS though,
>>> then we can move it at some point in the future.
>>>
>>> Ken
>>>
>>>
>>>
>>>>
>>>> Martin
>>>>
>>>>
>>>> On Mon, Apr 8, 2019 at 12:27 PM Darran Lofthouse <
>>>> darran.lofthouse at jboss.com> wrote:
>>>>
>>>>> I think if we were to add something to the PR process is should not
>>>>> rely on a single individual to maintain it, if that person is busy, asleep,
>>>>> sick or on holiday then there will be no one to deal with down time and
>>>>> other issues,
>>>>>
>>>>> On Mon, Apr 8, 2019 at 11:25 AM Martin Stefanko <mstefank at redhat.com>
>>>>> wrote:
>>>>>
>>>>>> I can run it my openshift online instance so uptime would be
>>>>>> maintained by me for the time being. I have already several instances
>>>>>> running like this for some time. During F2F we've also discussed
>>>>>> possibility to use Prow project
>>>>>> <https://github.com/kubernetes/test-infra/tree/master/prow> for
>>>>>> wildlfy which would require a platform to run (my openshift cannot cover
>>>>>> this) and Tyr would nicely integrate with Prow (already tested). However, I
>>>>>> am not aware if there has been any movement with Prow setup for wildfly
>>>>>> repository recently.
>>>>>>
>>>>>> Martin
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 8, 2019 at 11:26 AM Darran Lofthouse <
>>>>>> darran.lofthouse at jboss.com> wrote:
>>>>>>
>>>>>>> Couple of questions.
>>>>>>>
>>>>>>> Where does this need to run?
>>>>>>>
>>>>>>> How does this get maintained regarding things like uptime?
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Apr 8, 2019 at 9:52 AM Martin Stefanko <mstefank at redhat.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I would like to present my side project Tyr [1] which is a tool
>>>>>>>> that can verify GitHub pull request structure by a YAML definition (example
>>>>>>>> in [2]) provided by a user. The PR author sees the violations immediately
>>>>>>>> in the PR status which allows to correct mistakes right away when the PR is
>>>>>>>> created.
>>>>>>>>
>>>>>>>> I've recorded a short demo available at [3].
>>>>>>>>
>>>>>>>> The validation is fully configurable and can be extended with for
>>>>>>>> instance analysis document links and similar.
>>>>>>>>
>>>>>>>> I would like to include this functionality in wildfly repository.
>>>>>>>> Thoughts?
>>>>>>>>
>>>>>>>> [1] https://github.com/xstefank/tyr
>>>>>>>> [2]
>>>>>>>> https://gist.github.com/xstefank/3a79f2f199ee1e449a44c607120a9d30
>>>>>>>> [3] https://youtu.be/qZRcMQ6qIpg
>>>>>>>>
>>>>>>>> Martin Stefanko
>>>>>>>>
>>>>>>>> Software Engineer
>>>>>>>> Middleware Runtimes Sustaining Engineering Team
>>>>>>>> Red Hat
>>>>>>>> _______________________________________________
>>>>>>>> wildfly-dev mailing list
>>>>>>>> wildfly-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>>>>>
>>>>>>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
--
Brian Stansberry
Manager, Senior Principal Software Engineer
Red Hat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20190409/8f9478da/attachment-0001.html
More information about the wildfly-dev
mailing list