Session abstract:
Since the release of Apache Lucene 4 the periods between new releases have significantly be shortened. Approx. every 2-3 months, a new release with major changes and new features is appearing. Releases got much easier for the release manager and the project management committee because of automated release testing. There are tools involved, which are mostly unknown to the Lucene/Solr user: To prevent bugs in our releases, Apache Lucene’s infrastructure covers 24/7 testing of the development and stable branches, builds fake releases, and uses randomized testing to find bugs. The infrastructure also includes several Jenkins instances running the entire test suite on all supported and coming JDK versions, including most system configurations which are currently in use by the users. Lucene also uses code coverage and code quality tools like the Policeman Forbidden-APIs checker. In addition, library dependencies are checked for duplicates, license issues, and version inconsistencies; javadocs are HTML-validated and checked for broken links.
This talk will show all the improvements Lucene and Solr made to its release infrastructure. It will also show how to use them in your own software project. Sister projects like Elasticsearch use it already to build their releases!