<div dir="ltr"><div>Hi Zhoumin, </div><div><br></div><div>Comments inline:</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 28, 2024 at 12:35 AM zhoumin <<a href="mailto:zhoumin@loongson.cn">zhoumin@loongson.cn</a>> 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>
    <p>Hi Patrick,</p>
    <p>I'm sorry for this serious delay.</p>
    <p>I do believe that retesting is meaningful and Loongson lab should
      support it. Meanwhile, the email based retest framework is
      wonderful and it is not too hard to integrate the retest function
      into the existed dpdk-ci framework. Although I am responsible for
      the Loongson lab, I'm not full-time on it. So, I need some time to
      support the email based retest function in Loongson lab. It may
      take a few weeks.</p></div></blockquote><div><br></div><div>Perfect! And take the time you need, thanks. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p> <br>
    </p>
    <div>On Thu, Feb 22, 2024 at 1:54PM, Patrick
      Robb wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">And I forgot to mention, you can set up part of
        this using the dpdk-ci project get_reruns.py script. It polls
        the Rest API for all comment on patch emails events in a given
        timeframe, and uses regex to write a json file containing any
        retest requests from that period. We run this periodically
        (every 15 minutes) at UNH using Jenkins, but I think you could
        do this with a cron job or another solution. 
        <div><br>
        </div>
        <div>Just remember to keep bringing the timeframe parameters
          forward or you will end up consuming a retest request more
          than once! </div>
        <div><br>
        </div>
        <div><a href="https://git.dpdk.org/tools/dpdk-ci/tree/tools/get_reruns.py" target="_blank">https://git.dpdk.org/tools/dpdk-ci/tree/tools/get_reruns.py</a><br>
        </div>
      </div>
    </blockquote>
    <p>Thanks for pointing it out. This script is very useful and it can
      help us more easily support the retest function.</p>
    <p>But, I got an empty output when I tried to get the retest
      requests since 2023-08-01 as following:</p>
    <p># python3 tools/get_reruns.py -ts 2023-08-01 --contexts
"iol-compile-amd64-testing,iol-broadcom-Performance,iol-unit-arm64-testing,github-robot"<br>
      {<br>
          "retests": {},<br>
          "last_comment_timestamp": "2024-02-28T02:27:49.500680"<br>
      }<br>
      Or am I using this script wrong?<br></p></div></blockquote><div><br></div><div>Yes one correction, you should do a space delimited list of patchwork test contexts, not a comma delimited list. No quotation marks needed.</div><div><br></div><div> # python3 tools/get_reruns.py -ts 2023-08-01 --contexts iol-compile-amd64-testing iol-broadcom-Performance iol-unit-arm64-testing github-robot</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <blockquote type="cite"><br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Thu, Feb 22, 2024 at
          12:55 AM Patrick Robb <<a href="mailto:probb@iol.unh.edu" target="_blank">probb@iol.unh.edu</a>> 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">Hi Zhoumin,
            <div><br>
            </div>
            <div>I wanted to reach out to you about the possibility of
              adding the Loongson lab to the group of labs supporting
              the email based retest framework. Currently, the UNH
              Community Lab and also the GitHub Robot are supporting
              patch retest requests from emails, and we would like to
              extend that to all the publicly reporting CI labs, if
              possible. </div>
            <div><br>
            </div>
            <div>For context, the original announcement:<a href="https://inbox.dpdk.org/ci/CAC-YWqiXqBYyzPsc4UD7LbUHKha_Vb3=Aot+dQomuRLojy2hvA@mail.gmail.com/" target="_blank">https://inbox.dpdk.org/ci/CAC-YWqiXqBYyzPsc4UD7LbUHKha_Vb3=Aot+dQomuRLojy2hvA@mail.gmail.com/</a></div>
            <div><br>
            </div>
            <div>Aaron announcing support for the github robot: <a href="https://inbox.dpdk.org/ci/f7tedfooq6k.fsf@redhat.com/" target="_blank">https://inbox.dpdk.org/ci/f7tedfooq6k.fsf@redhat.com/</a></div>
            <div><br>
            </div>
            <div>And the retest framework definition on the <a href="https://mailgw.loongson.cn/linkserver?dest=http%3A%2F%2Fdpdk.org&tid=_____8Bx3+sGUtdlAT8QAA--.41768S3&rcpt=zhoumin@loongson.cn&ifnotice=1&rindex=0" target="_blank">dpdk.org</a> testing page: <a href="https://core.dpdk.org/testing/#requesting-a-patch-retest" target="_blank">https://core.dpdk.org/testing/#requesting-a-patch-retest</a></div>
            <div><br>
            </div>
            <div>So a format like:</div>
            <div><br>
            </div>
            <div>Recheck-request: iol-compile-amd64-testing,
              iol-broadcom-Performance, iol-unit-arm64-testing,
              github-robot<br>
            </div>
            <div><br>
            </div>
            <div>Is current accepted, and it would be great if we could
              add Loongson support to the list too. What we are
              supporting right now is doing retesting on the original
              DPDK artifact created for a patch when that patch was
              submitted. But we are also thinking of adding in rebasing
              off of tip of branch as a v2 feature. </div>
            <div><br>
            </div>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <p>I think the stateless retesting is more easily to implement the
      retest function. <br>
    </p>
    <p>I wrote a script to report the CI failures from Loongson lab
      three times a day by fetching the test results from
      <a href="http://patches.dpdk.org" target="_blank">patches.dpdk.org</a>. This script can help me find the CI failures in
      time. So, sometimes I manually triggered the DPDK CI test in
      Loongson lab as a retest for some patches or series when I found
      there is a test failure caused by Loongson lab self. In this case,
      the retest follows the routines of normal test. So, it will always
      do rebasing before applying the patches or series when do this
      kind of retest. <br>
    </p>
    <p>I think it is simpler for Loongson lab to implement the retest
      function. I think it is also feasible to do the retesting on the
      original DPDK artifact created for a patch when that patch was
      submitted. But, I need some times to reconstruct the existed
      routines.</p></div></blockquote><div><br></div><div>Thanks. I figured retest off of latest commit/tip of branch might be easier. Going from the original DPDK artifact is easy for UNH since we hold onto the original DPDK artifacts for a long time, but I realize other labs may not do this. So, if you can only support retest off of tip of branch right now, that is okay, we just need to ensure we are only triggering that retest when users actually request that. I.e. right now if someone submits a recheck request according to the format above, the expectation is that that retest is from the patch applied onto the branch commit which existed at the time when that patch was submitted, not latest. So, Loongson should not do anything in that case if the lab cannot support it. On the other hand, as you can see in the conversation linked below, we are looking to add support for retests off of tip of branch (when users request it), and it sounds like you can support that. So maybe we can do that support first for Loongson. I just want to verify that when a user requests a retest with some args included, we are definitely retesting according to those args in their retest request. </div><div><br></div><div><br></div><div>If you can comment on this thread about whether it makes sense for the Loongson lab, that helps us make sure we're not going in a direction which will cause problems for other labs. Thanks!</div><div><br></div><div><a href="https://inbox.dpdk.org/ci/CAJvnSUAsxwCZTd_vZgfpGFmiLqsG6icQ1a=Q62F+S7qtkBtRRQ@mail.gmail.com/T/#t">https://inbox.dpdk.org/ci/CAJvnSUAsxwCZTd_vZgfpGFmiLqsG6icQ1a=Q62F+S7qtkBtRRQ@mail.gmail.com/T/#t</a> <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><p> <br>
    </p>
    <p>How do you think of it?</p>
    <p>Best Regards,</p>
    <p>Min Zhou<br>
    </p>
    <blockquote type="cite">
      <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">
            <div>Does this sound possible for the Loonson lab? I know
              you are leveraging the dpdk-ci repo for standing up your
              CI testing, but I don't know specifically whether that
              lends itself well towards doing retests later, or if that
              would be a big technical challenge. Let me know! </div>
            <div><br>
            </div>
            <div>If it is possible for the Loongson lab, maybe we can
              discuss in the March 7 CI Testing meeting?</div>
          </div>
        </blockquote>
      </div>
      <br clear="all">
      </blockquote></div></blockquote></div><div><br></div></div>