Steve Rowe commented on LUCENE-8106:

So I have one small question to Steve Rowe: Can't we make a variant of the 
script for Jenkins that does not deal with Git at all? For reproduing the 
failure directly after running the main build job there is no need to change 
branches or merge in changes. We just leave the checkout as-is. As there are no 
external forces changing the checkout, why would we need GIT?

So let's add a "replacement" option "\-no\-git" instead of "\-no\-fetch", that 
completely disables GIT in the python script.

I agree; when the script is invoked in the same run as the failing tests, there 
is no need for the script to do anything with GIT.  I've attached a patch 
(...\-part3.patch) to do this via the replacement {{\-\-no\-git}} cmdline 
option.  I'll commit shortly, then modify Jenkins jobs to invoke properly.

However, on all other Jenkins besides Policeman, I intend to *not* include 
{{\-\-no\-git}} when invoking the script, since it's run as a separate job that 
can be scheduled hours or even days after the initial run that produced the 
test failures.

> Add script to attempt to reproduce failing tests from a Jenkins log
> -------------------------------------------------------------------
>                 Key: LUCENE-8106
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8106
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Steve Rowe
>            Assignee: Steve Rowe
>            Priority: Major
>             Fix For: master (8.0), 7.3
>         Attachments: LUCENE-8106-part2.patch, LUCENE-8106-part3.patch, 
> LUCENE-8106.patch, LUCENE-8106.patch
> This script will be runnable from a downstream job triggered by an upstream 
> failing Jenkins job, passing log location info between the two.
> The script will also be runnable manually from a developer's cmdline.
> From the script help:
> {noformat}
> Usage:
>      python3 -u reproduceJenkinsFailures.py URL
> Must be run from a Lucene/Solr git workspace. Downloads the Jenkins
> log pointed to by the given URL, parses it for Git revision and failed
> Lucene/Solr tests, checks out the Git revision in the local workspace,
> groups the failed tests by module, then runs
> 'ant test -Dtest.dups=5 -Dtests.class="*.test1[|*.test2[...]]" ...'
> in each module of interest, failing at the end if any of the runs fails.
> To control the maximum number of concurrent JVMs used for each module's
> test run, set 'tests.jvms', e.g. in ~/lucene.build.properties
> {noformat}

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to