At Percona, we’re now using sphinx for our documentation. We’re also using Jenkins for our continuous integration. We have compiler warnings from GCC being parsed by Jenkins using the built in filters, but there isn’t one for the sphinx warnings.
Luckily, in the configuration page for Jenkins, the Warnings plugin allows you to specify your own filters. I’ve added the following filter to process warnings from sphinx:
For those who want to copy and paste:
Regex: ^(.*):(\d+): \((.*)\) (.*)
String fileName = matcher.group(1) String lineNumber = matcher.group(2) String category = matcher.group(3) String message = matcher.group(4) return new Warning(fileName, Integer.parseInt(lineNumber), "sphinx", category, message);
Example log message: /home/stewart/percona-server/docs-5.1/doc/source/release-notes/Percona-Server-1.0.2-3.rst:67: (WARNING/2) Inline literal start-string without end-string.
Then I can select this filter from the job that builds (and publishes) our documentation and it shows up like any other compiler warnings. Neat!
TODO: get the intersphinx warnings also in there
TODO: fix the linkcheck target in Sphinx so that it’s easily parseable and can also be integrated.