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:
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