<div dir="ltr">The idea is only to verify pull request structure by rules defined by Wildfly - so for instance if we require that <a href="https://github.com/wildfly/wildfly/blob/master/.github/PULL_REQUEST_TEMPLATE.md">every commit is prefixed with [WFLY-XXX] or WFLY-XXX</a>.<div><br></div><div>&gt;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.</div><span class="gmail-im" style="color:rgb(80,0,80)"><br class="gmail-Apple-interchange-newline"></span><div>I found that status is better way to do this because it doesn&#39;t show in the PR log like comments or adding/removing labels do and it&#39;s able to demonstrate errors with the cross next to the commit so the author can immediately see that something is wrong and fix it with a few quick actions when the PR is created. Once the status in tyr check is green, assuming no changes to PR structure are made afterwards, it will not influence other statuses posted by CI. </div><div><br></div><div>It boils down to what we really expect from the PR: if prefixing with [WFLY-XXX] or WFLY-XXX is a requirement than we should mandate that every PR has such title. There is also an option to specify when to skip tyr check altogether by skip patterns configurable in PR title, commit message or description (e.g. title with &quot;No issue required&quot;). I can also add an option to disable tyr check by authorized comment from a reviewer if needed.</div><div><br></div><div>&gt; <span style="font-family:&quot;trebuchet ms&quot;,sans-serif">For sure I don&#39;t want rejection of PRs with multiple commits.  It&#39;s perfectly valid to write PRs with multiple commits.</span></div><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">There shouldn&#39;t be any problem in adjusting this.</font></div><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">&gt; </font>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.</div><div><font face="trebuchet ms, sans-serif"><br></font></div><div>I would say it again depends on what we expect from the PR - it either has a link to the issue or it does not so there is no possibility of false negatives.</div><div><br></div><div>&gt; <span style="font-family:&quot;trebuchet ms&quot;,sans-serif">I think a key way to keep this accurate is to resist the temptation to have it do more than it should. Don&#39;t come up with rules that sound right but turn out to have valid exceptions or that people just won&#39;t follow.</span></div><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">Agreed. My initial starting point was <a href="https://github.com/wildfly/wildfly/blob/master/.github/PULL_REQUEST_TEMPLATE.md">PR template</a> but all rules can be adjusted as needed. And this will be configurable anytime so if some rules won&#39;t get adopted as expected we can update or remove them.<br></font><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">&gt; OTOH if the mergers decide they want to do something I don&#39;t want a tool preventing us doing it, which is what my questions were driving at. We&#39;re way smarter than the tool.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">The status should not prevent a possibility of merge but if the cross next to the commit would be a problem we can add an override to disable tyr check (meaning make it pass manually) with a comment or similar as suggested above.</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Martin<br></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 9, 2019 at 4:20 PM Brian Stansberry &lt;<a href="mailto:brian.stansberry@redhat.com">brian.stansberry@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 9, 2019 at 5:39 AM Darran Lofthouse &lt;<a href="mailto:darran.lofthouse@jboss.com" target="_blank">darran.lofthouse@jboss.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Overall if for a tool we don&#39;t care if it down and consider it&#39;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.</div><div><br></div></div></blockquote><div><span class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></span></div><div><span class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Yes.</span></div><div><span class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"></span> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>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.</div><div dir="ltr"><br></div><div dir="ltr">On Tue, Apr 9, 2019 at 6:47 AM Martin Stefanko &lt;<a href="mailto:mstefank@redhat.com" target="_blank">mstefank@redhat.com</a>&gt; wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">&gt; <span style="font-family:&quot;trebuchet ms&quot;,sans-serif">Does the commit check run against all commits in the PR?</span><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">Not currently, I&#39;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.</font></div></div></blockquote><div><br></div><div>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.</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">For sure I don&#39;t want rejection of PRs with multiple commits.  It&#39;s perfectly valid to write PRs with multiple commits.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>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&#39;s own PR.  If working on a piece of work and another engineer also follows on you need to ensure you don&#39;t modify any shared commits etc... </div><div><br></div><div>Overall the human code review is still mandatory and part of that review would consider the commits and if they make sense.</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Yes. </div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">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&#39;t really want.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>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.</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">&gt; </font><span style="font-family:&quot;trebuchet ms&quot;,sans-serif">What happens if it is down?  I figure nothing really, i.e. the check just isn&#39;t performed, which is a quite reasonable failure mode. :) </span></div><div><span style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></span></div><div><span style="font-family:&quot;trebuchet ms&quot;,sans-serif">&gt; </span><span style="font-family:&quot;trebuchet ms&quot;,sans-serif">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.</span></div><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">Absolutely right. There will be only one additional status in the list. Everything can be ignored.</font></div></div></blockquote><div><br></div><div>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.</div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">Yes, we want it to be accurate. We also want it to be available.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">I think a key way to keep this accurate is to resist the temptation to have it do more than it should. Don&#39;t come up with rules that sound right but turn out to have valid exceptions or that people just won&#39;t follow.<br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"><br></div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif">OTOH if the mergers decide they want to do something I don&#39;t want a tool preventing us doing it, which is what my questions were driving at. We&#39;re way smarter than the tool.</div><div class="gmail_default" style="font-family:&quot;trebuchet ms&quot;,sans-serif"> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><font face="trebuchet ms, sans-serif"><br></font></div><div><font face="trebuchet ms, sans-serif">&gt; </font>We can run it in CI somewhere if we need to, I&#39;ll need to review the docs and see whats required to run it.</div><div><br></div><div>Ken, I will take this with you offline when it&#39;s decided that we can set it up. <br clear="all"><div><div dir="ltr" class="gmail-m_-4903049524335982044gmail-m_1870848929228654359gmail-m_3799414308558704619gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Martin <br></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 4:15 PM Ken Wills &lt;<a href="mailto:kwills@redhat.com" target="_blank">kwills@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 7:32 AM Martin Stefanko &lt;<a href="mailto:mstefank@redhat.com" target="_blank">mstefank@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Yes, understandable. Maybe it can be run where pull-player is being run then? CC Ken.<br clear="all"></div></blockquote><div><br></div><div>We can run it in CI somewhere if we need to, I&#39;ll need to review the docs and see whats required to run it.</div><div><br></div><div>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.</div><div><br></div><div>Ken</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div dir="ltr" class="gmail-m_-4903049524335982044gmail-m_1870848929228654359gmail-m_3799414308558704619gmail-m_8603178563120312178gmail-m_1565700362276790637gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Martin <br></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 12:27 PM Darran Lofthouse &lt;<a href="mailto:darran.lofthouse@jboss.com" target="_blank">darran.lofthouse@jboss.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">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,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 11:25 AM Martin Stefanko &lt;<a href="mailto:mstefank@redhat.com" target="_blank">mstefank@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">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&#39;ve also discussed possibility to use <a href="https://github.com/kubernetes/test-infra/tree/master/prow" target="_blank">Prow project</a> 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.<br clear="all"><div><div dir="ltr" class="gmail-m_-4903049524335982044gmail-m_1870848929228654359gmail-m_3799414308558704619gmail-m_8603178563120312178gmail-m_1565700362276790637gmail-m_-9073834282964421639gmail-m_-6589929154998680002gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Martin<br></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 11:26 AM Darran Lofthouse &lt;<a href="mailto:darran.lofthouse@jboss.com" target="_blank">darran.lofthouse@jboss.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Couple of questions.<div><br></div><div>Where does this need to run?</div><div><br></div><div>How does this get maintained regarding things like uptime?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 8, 2019 at 9:52 AM Martin Stefanko &lt;<a href="mailto:mstefank@redhat.com" target="_blank">mstefank@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr">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.</div><div dir="ltr"><br></div><div dir="ltr">I&#39;ve recorded a short demo available at [3].</div><div dir="ltr"><br></div><div>The validation is fully configurable and can be extended with for instance analysis document links and similar.</div><div dir="ltr"><br></div><div dir="ltr">I would like to include this functionality in wildfly repository. Thoughts?</div><div dir="ltr"><div><br></div><div>[1] <a href="https://github.com/xstefank/tyr" target="_blank">https://github.com/xstefank/tyr</a></div><div>[2] <a href="https://gist.github.com/xstefank/3a79f2f199ee1e449a44c607120a9d30" target="_blank">https://gist.github.com/xstefank/3a79f2f199ee1e449a44c607120a9d30</a></div><div>[3] <a href="https://youtu.be/qZRcMQ6qIpg" target="_blank">https://youtu.be/qZRcMQ6qIpg</a><br clear="all"><div><div dir="ltr" class="gmail-m_-4903049524335982044gmail-m_1870848929228654359gmail-m_3799414308558704619gmail-m_8603178563120312178gmail-m_1565700362276790637gmail-m_-9073834282964421639gmail-m_-6589929154998680002gmail-m_-7932499814739059909gmail-m_-6243839654698323803gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><br></div><div>Martin Stefanko</div><div><br></div><div>Software Engineer</div><div>Middleware Runtimes Sustaining Engineering Team</div><div>Red Hat</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a></blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a></blockquote></div></div>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-4903049524335982044gmail_signature"><div dir="ltr">Brian Stansberry<div>Manager, Senior Principal Software Engineer</div><div>Red Hat</div></div></div></div>
</blockquote></div>