Thought I'd make this a thread instead of a discussion on a single JIRA
ticket.

Currently we have gradle precommit run on PRs for master, which is very
useful and gives people confidence in approving PRs. But precommit is
obviously not the only thing we care about before committing. It would be
great to run all the tests every time, but clearly that is too expensive.

In SOLR-14856 <https://issues.apache.org/jira/browse/SOLR-14856>, I
proposed adding a github action to build and test the solr docker image for
PRs that affected relevant parts of the repo (solr/docker, solr/bin,
solr/packaging and solr/contrib/prometheus-exporter/bin). Running the
docker tests currently takes roughly 12 minutes in the github action, which
would be costly if it ran on every PR. But when running on the small
percentage of PRs that affect those code paths, I think the benefit
outweighs the cost.

Beyond just the docker tests, I think we can leverage this ability for
other features that are limited to certain code paths. For example running
tests for contrib modules, testing solr/examples, and many of
the independent lucene modules. The SolrJ tests just ran in 3 minutes
locally for me, maybe that'd be a good candidate as well.

Anyways I'm sure there are other good candidates out there, but I just
wanted to start the discussion and hear other opinions before diving any
deeper.

Reply via email to