<div dir="ltr">Excellent suggestions Rostislav!  There are some trade offs due to the amount of time needed for each test run.  Whatever the implementation, it would be good to have a prioritized way of running the tests that accomplish a-c.<div><br></div><div>Scott  <div><br></div><div><div><div class="gmail_extra"><div class="gmail_quote">On Wed, Dec 6, 2017 at 7:31 AM, Rostislav Svoboda <span dir="ltr">&lt;<a href="mailto:rsvoboda@redhat.com" target="_blank">rsvoboda@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see 3 main use-cases for TCK runs outside WFLY master<br>
<br>
 a) pre-checks before final merging to WFLY master - master-ignore way discussed here<br>
 b) checks on big feature(s) development branches<br>
      something like ladybird or RFE development across multiple components<br>
      selected TCK modules can be executed, depends on scope of changes<br>
 c) regular component checks on component master<br>
      early / regression checks on component level that they do not regress<br>
      TCK modules related to the component and layered components should be executed<br>
      I know only few components which run related TCK modules with their master<br>
<br>
With proposed changes for quick WF delivery I believe use-cases b) and c) will need to be addressed.<br>
<br>
Use-cases b) and c) could be done on component level or via central pipeline.<br>
  component level - prepare automated way to run TCK with custom build - e.g. bash script, docker image<br>
  central pipeline - set of jobs can be prepared and linked via Jenkins pipeline so the end user (or curl request) provides just URL of custom WFLY build zip + list of modules to be executed<br>
<span class="HOEnZb"><font color="#888888"><br>
Rostislav<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
&gt; On Tue, Dec 5, 2017 at 4:37 AM, Scott Marlow &lt; <a href="mailto:smarlow@redhat.com">smarlow@redhat.com</a> &gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; It would be great if we could have a branch that includes all of the commits<br>
&gt; that we are considering to merge at a particular time of day, such that we<br>
&gt; would run the TCK against that branch, only once a day.<br>
&gt;<br>
&gt; Can this be done that often? I had in my mind that if we did one of these it<br>
&gt; would amount to stealing one of the regular runs, but perhaps that&#39;s not the<br>
&gt; case.<br>
&gt;<br>
&gt; Now, I don&#39;t think we&#39;d want to do these anywhere near that often, but it&#39;s<br>
&gt; good to know what the limits would be. For example, I could imagine doing 10<br>
&gt; of these over the course of a WF release, but by luck or whatever 3 of them<br>
&gt; come in the same week.<br>
&gt;<br>
&gt; +1 to using a branch. We have a branch like that, master-ignore, that we use<br>
&gt; for batching up PRs to test as a group before merging. I wouldn&#39;t want to<br>
&gt; use master-ignore for this, but a differently named branch run the same way<br>
&gt; sounds good.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; If one of the changes cause a TCK failure, none of them get merged<br>
&gt; (investigation follows that to determine which change caused the<br>
&gt; failure(s)), if the test succeeds, we can then merge that batch of changes<br>
&gt; into WildFly master.<br>
&gt;<br>
&gt; We likely would want to avoid running the testing, on days when we haven&#39;t<br>
&gt; merged any changes to the WF testing branching.<br>
&gt;<br>
&gt;<br>
&gt; Can the TCK be set up to run based on a check for a change in the sha of the<br>
&gt; head of a branch? So every day at a fixed time it checks the branch, and<br>
&gt; does nothing if there is no change. If we want a run, we force push the<br>
&gt; branch before that time. We have CI jobs that check master-ignore that way,<br>
&gt; except they poll regularly, not just once a day. That works for those as<br>
&gt; they aren&#39;t so resource intensive that we worry a lot about limiting how<br>
&gt; often they run.<br>
&gt;<br>
&gt;<br>
&gt; Would that approach help how we merge PRs on master?<br>
&gt;<br>
&gt;<br>
&gt; I think it could be helpful earlier in the release cycle before merging big<br>
&gt; changes, and then perhaps late in the release cycle if we&#39;re worried about<br>
&gt; possible regressions.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Scott<br>
&gt;<br>
&gt; On 12/04/2017 09:33 PM, Stuart Douglas wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Dec 5, 2017 at 3:40 AM, Brian Stansberry &lt;<br>
&gt; <a href="mailto:brian.stansberry@redhat.com">brian.stansberry@redhat.com</a> &lt;mailto: <a href="mailto:brian.stansberry@redhat.com">brian.stansberry@redhat.com</a> &gt;&gt; wrote:<br>
&gt;<br>
&gt; Great. :)<br>
&gt;<br>
&gt; One thing I think we need to do is figure out how to get custom TCK<br>
&gt; runs for PR branches. The TCK is a big part of our test coverage,<br>
&gt; and one way to not &quot;use master as a test bed&quot; is to get a check of a<br>
&gt; branch on the TCK before we merge it.<br>
&gt;<br>
&gt; I know we&#39;ve gotten TCK runs of ad-hoc branches before, so by<br>
&gt; &quot;figure out&quot; I mean work out how to make that not overly painful,<br>
&gt; come to some sort of consensus on when it&#39;s worthwhile, etc.<br>
&gt;<br>
&gt;<br>
&gt; I think if we were going to do this it should probably be something reviewers<br>
&gt; can ask for on specific PR. The TCK uses a *lot* more resources than a<br>
&gt; standard CI run, so we need to make sure we limit it to cases where it is<br>
&gt; required.<br>
&gt;<br>
&gt; Stuart<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Dec 1, 2017 at 10:04 AM, Alessio Soldano<br>
&gt; &lt; <a href="mailto:asoldano@redhat.com">asoldano@redhat.com</a> &lt;mailto: <a href="mailto:asoldano@redhat.com">asoldano@redhat.com</a> &gt;&gt; wrote:<br>
&gt;<br>
&gt; There you go... PR updated to consume the same api jar now<br>
&gt; released as final.<br>
&gt;<br>
&gt; Cheers<br>
&gt; Alessio<br>
&gt;<br>
&gt; On Fri, Dec 1, 2017 at 3:30 PM, David Lloyd<br>
&gt; &lt; <a href="mailto:david.lloyd@redhat.com">david.lloyd@redhat.com</a> &lt;mailto: <a href="mailto:david.lloyd@redhat.com">david.lloyd@redhat.com</a> &gt;&gt; wrote:<br>
&gt;<br>
&gt; On Thu, Nov 30, 2017 at 5:50 PM, Alessio Soldano<br>
&gt; &lt; <a href="mailto:asoldano@redhat.com">asoldano@redhat.com</a> &lt;mailto: <a href="mailto:asoldano@redhat.com">asoldano@redhat.com</a> &gt;&gt; wrote:<br>
&gt; &gt; As suggested by Brian, I&#39;d like to draw attention to the discussion on<br>
&gt; &gt; <a href="https://github.com/wildfly/wildfly/pull/10604" rel="noreferrer" target="_blank">https://github.com/wildfly/<wbr>wildfly/pull/10604</a><br>
&gt; &lt; <a href="https://github.com/wildfly/wildfly/pull/10604" rel="noreferrer" target="_blank">https://github.com/wildfly/<wbr>wildfly/pull/10604</a> &gt; .<br>
&gt; &gt; The PR is an upgrade of the webservices stack, including JBossWS, Apache<br>
&gt; &gt; CXF, JAXB-RI and JAXB API. In particular, the JAXB upgrade is for EE8 and<br>
&gt; &gt; better JDK 9 compatibility.<br>
&gt; &gt; Now, due to the upgrade of the JAXB API spec jar, the PR is essentially<br>
&gt; &gt; stalled since 20 days; the new spec is released as an alpha (as it&#39;s been<br>
&gt; &gt; tested within JBossWS only) and that does not satisfy a rule that requires<br>
&gt; &gt; any artifact being pulled to be Final.<br>
&gt; &gt; We&#39;re talking about a spec jar, we could simply re-tag that as Final,<br>
&gt; &gt; chances are we won&#39;t need changes any time soon there anyway, but as Tomaz<br>
&gt; &gt; pointed out, in principle that would be dishonest.<br>
&gt;<br>
&gt; My opinion is that you should go ahead and make a .Final<br>
&gt; tag. In the<br>
&gt; (unlikely?) event that the spec has to be modified for some<br>
&gt; reason, I<br>
&gt; think you could make a 1.0.1.Final tag and call it a &quot;bug fix&quot;.<br>
&gt;<br>
&gt; The alternative is to simply wait. I don&#39;t think there is<br>
&gt; any middle position.<br>
&gt;<br>
&gt; &gt; While I see the point in requiring that only sufficiently stable upgrades<br>
&gt; &gt; are applied to the codebase, I&#39;m wondering whether, maybe, we&#39;re going a<br>
&gt; &gt; bit<br>
&gt; &gt; too far with the rules. Brian wrote on this topic: &quot;how to determine that<br>
&gt; &gt; something is good enough to go in without using master as a test bed&quot; ?<br>
&gt;<br>
&gt; I don&#39;t think we are; I agree with the policy as it stands. If you<br>
&gt; look at it in terms of being able to release at any time,<br>
&gt; then it<br>
&gt; follows that everything _must_ be stable.<br>
&gt;<br>
&gt; --<br>
&gt; - DML<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a> &lt;mailto: <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a> &gt;<br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a><br>
&gt; &lt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a> &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; -- Brian Stansberry<br>
&gt; Manager, Senior Principal Software Engineer<br>
&gt; Red Hat<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a> &lt;mailto: <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a> &gt;<br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a><br>
&gt; &lt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a> &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Brian Stansberry<br>
&gt; Manager, Senior Principal Software Engineer<br>
&gt; Red Hat<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org">wildfly-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/wildfly-dev</a><br>
</div></div></blockquote></div><br></div></div></div></div></div>