Test pysolr against multiple versions of Solr, fixes #223
This PR adds test runs against Solr 5.x, 6.x, and 7.x for a standard, stand-alone Solr configuration as mentioned in #223 by @efagerberg . This PR adds a docker-compose.yml, Dockerfile, and Solr configuration skeleton for testing Pysolr against Solr 5.x, 6.x, and 7.x. Testing against Solr 4.x is unchanged and still implemented using the start-solr-test-server.sh script and a local download of Solr 4.
Due to time constraints, this does not include tests for Pysolr's SolrCloud support for Solr 5.x+. These tests have been marked as "failure allowed" in the Travis configuration, so that they don't break build status in the short-term.
This PR includes 2 commits, one that represents the bulk of the changes (including a skeleton Solr config) and one that removes much of the bloat (e.g. comments) from the Solr config as is reasonable. If you'd prefer, I can remove the second commit, but chose to add it to reduce the overall size of the PR.
@acdha I am unclear on how the Apache license statements, present in the Solr config files, plays with Pysolr's choice of BSD license. If you have guidance on how to handle that, please let me know.
I forgot to mention that there are some failing tests when Pysolr is pointed at a Solr 7.x instance. This appears to be because Solr 7.x+ returns JSON from admin endpoints, rather than XML. I looked at the failures briefly and was unable to tell from the responses if the actions actually completed successfully (e.g. a core was created). I marked all Solr 7.x tests as "failure allowed" as well, thinking that this may be better addressed later.
@jnovinger can we support older versions of Solr by adding wt=json to the admin URLs? (It's been a long time since I've looked at those) I think by now it'd be reasonable to say that e.g. we only support Solr 5 or 6+ going forward since people with older Solr installs can use the current releases.
@acdha good questions, I'll take a look and let you know as soon as I can.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Gah, please don't close this @stalebot. I've been thinking about this recently and meaning to revisit it.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Please rebase.
I'll see if I can find some time to get this rebased soon and updated.
I haven't used Solr in a while, so I might be a little rusty.
@jnovinger Please rebase or close.
@cclauss apologies for letting this get stale ... again. I've rebased it and will be able to take a look at getting it running correctly agains SOON:tm:. I have some PTO coming up at the end of this week and will dig in then.
Cool. To placate codespell, modify the last line of pyproject.toml from skip="./.*" to skip="./.*,*.xml" because spell checking XML files is probably a bad idea.