Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
Excerpts from Anne Gentle's message of 2017-07-10 13:14:52 -0400: > On Mon, Jul 10, 2017 at 1:11 PM, Doug Hellmannwrote: > > Excerpts from sfinucan's message of 2017-07-10 17:20:37 +0100: > >> On Fri, 2017-07-07 at 15:58 +0100, sfinu...@redhat.com wrote: > >> > >> Of these, 'project' is static and should never change, so we don't need to > >> attempt to guess them. Version and release are dynamic but I've noticed we > >> don't actually use them anywhere in openstackdocstheme (the version you > >> see in > >> the URL is actually an artefact of the build process and nothing to do with > >> Sphinx). The closest thing we _do_ get to including version information is > >> the > >> commit ID include in header of api-ref build pages [1], which is generated > >> by > >> openstackdocstheme. > > > > It's surprising to me that we don't include the version string anywhere > > on the page. Is that an oversight in the theme, or was it on purpose? > > The theme shows "current" - however I noticed while reviewing this > morning the nomenclature is "latest" in the URL, so I will make a > change. Do you suggest "latest -n.n.n" as the string value, or simply > "latest"? I thought we would want to insert the version, as reported in the Sphinx config, without any reference to current or latest or the release series. Perhaps we can replace the static text "Project home page" in the left sidebar with "{{project}} {{version}}" (with or without "home page") like in https://review.openstack.org/482230 ? Doug __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On Mon, Jul 10, 2017 at 1:11 PM, Doug Hellmannwrote: > Excerpts from sfinucan's message of 2017-07-10 17:20:37 +0100: >> On Fri, 2017-07-07 at 15:58 +0100, sfinu...@redhat.com wrote: >> > tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just >> > remove the feature at this point. However, this is going to necessitate >> > some >> > mechanical changes for most projects with docs and this mail serves as a >> > heads up and request for input before we proceed. >> >> [snip] >> >> > Here are the features that the plugin provides, along with the current >> > migration plans: >> >> ... >> >> > - Automatically sets project name and version using pbr's machinery >> > >> > Try to set this from 'openstackdocstheme'. If this isn't possible, folks >> > will need to add some some lines to 'conf.py' like keystoneauth does [7] >> >> I've been looking into this particular issue further, and the more I think >> about it, the less necessary it seems. There are three configuration options >> currently set by pbr: >> >> - project (the project name) >> - version (the full version, including alpha/beta/rc tags) >> - release (the short X.Y version) >> >> Of these, 'project' is static and should never change, so we don't need to >> attempt to guess them. Version and release are dynamic but I've noticed we >> don't actually use them anywhere in openstackdocstheme (the version you see >> in >> the URL is actually an artefact of the build process and nothing to do with >> Sphinx). The closest thing we _do_ get to including version information is >> the >> commit ID include in header of api-ref build pages [1], which is generated by >> openstackdocstheme. > > It's surprising to me that we don't include the version string anywhere > on the page. Is that an oversight in the theme, or was it on purpose? The theme shows "current" - however I noticed while reviewing this morning the nomenclature is "latest" in the URL, so I will make a change. Do you suggest "latest -n.n.n" as the string value, or simply "latest"? Anne > >> Given this fact, I think pbr is a providing a solution in search of problem >> here, and this feature can in fact go quietly into the night with no further >> ado. >> >> Thoughts? >> Stephen >> >> PS: If we really did want to include a version in the docs in the future, I >> think we could use information provided by ZUUL. I'm no ZUUL expert, but it >> seems ZUUL does have commit id info ('ZUUL_REF') and what I hope to be >> something like what 'git-describe' ('ZUUL_REFNAME'). We could simply pass >> these >> via the '--version' parameter to 'build_sphinx' [3]. Again though, I don't >> think this is necessary. > > Relying on anything outside of the repo won't work for packagers who > build from source outside of our CI system. > >> PPS: I have not responded to the other replies to this mail yet because Red >> Hat's email servers have decided not to send me replies to my own posts on >> openstack-dev. I have seen them though and will reply when I figure out how >> to >> get mboxes. >> >> [1] https://developer.openstack.org/api-ref/compute/ >> [2] >> https://github.com/openstack-infra/zuul/blob/8dda7c1/tools/trigger-job.py#L >> 54-L60 >> [3] >> https://github.com/openstack-infra/project-config/blob/32aff86f/jenkins/scr >> ipts/run-docs.sh#L20 >> > > __ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev -- Read my blog: justwrite.click Subscribe to Docs|Code: docslikecode.com __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
Excerpts from sfinucan's message of 2017-07-10 17:20:37 +0100: > On Fri, 2017-07-07 at 15:58 +0100, sfinu...@redhat.com wrote: > > tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just > > remove the feature at this point. However, this is going to necessitate some > > mechanical changes for most projects with docs and this mail serves as a > > heads up and request for input before we proceed. > > [snip] > > > Here are the features that the plugin provides, along with the current > > migration plans: > > ... > > > - Automatically sets project name and version using pbr's machinery > > > > Try to set this from 'openstackdocstheme'. If this isn't possible, folks > > will need to add some some lines to 'conf.py' like keystoneauth does [7] > > I've been looking into this particular issue further, and the more I think > about it, the less necessary it seems. There are three configuration options > currently set by pbr: > > - project (the project name) > - version (the full version, including alpha/beta/rc tags) > - release (the short X.Y version) > > Of these, 'project' is static and should never change, so we don't need to > attempt to guess them. Version and release are dynamic but I've noticed we > don't actually use them anywhere in openstackdocstheme (the version you see in > the URL is actually an artefact of the build process and nothing to do with > Sphinx). The closest thing we _do_ get to including version information is the > commit ID include in header of api-ref build pages [1], which is generated by > openstackdocstheme. It's surprising to me that we don't include the version string anywhere on the page. Is that an oversight in the theme, or was it on purpose? > Given this fact, I think pbr is a providing a solution in search of problem > here, and this feature can in fact go quietly into the night with no further > ado. > > Thoughts? > Stephen > > PS: If we really did want to include a version in the docs in the future, I > think we could use information provided by ZUUL. I'm no ZUUL expert, but it > seems ZUUL does have commit id info ('ZUUL_REF') and what I hope to be > something like what 'git-describe' ('ZUUL_REFNAME'). We could simply pass > these > via the '--version' parameter to 'build_sphinx' [3]. Again though, I don't > think this is necessary. Relying on anything outside of the repo won't work for packagers who build from source outside of our CI system. > PPS: I have not responded to the other replies to this mail yet because Red > Hat's email servers have decided not to send me replies to my own posts on > openstack-dev. I have seen them though and will reply when I figure out how to > get mboxes. > > [1] https://developer.openstack.org/api-ref/compute/ > [2] > https://github.com/openstack-infra/zuul/blob/8dda7c1/tools/trigger-job.py#L > 54-L60 > [3] > https://github.com/openstack-infra/project-config/blob/32aff86f/jenkins/scr > ipts/run-docs.sh#L20 > __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On Mon, Jul 10, 2017 at 12:20 PM,wrote: > On Fri, 2017-07-07 at 15:58 +0100, sfinu...@redhat.com wrote: >> tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just >> remove the feature at this point. However, this is going to necessitate some >> mechanical changes for most projects with docs and this mail serves as a >> heads up and request for input before we proceed. > > [snip] > >> Here are the features that the plugin provides, along with the current >> migration plans: > > ... > >> - Automatically sets project name and version using pbr's machinery >> >> Try to set this from 'openstackdocstheme'. If this isn't possible, folks >> will need to add some some lines to 'conf.py' like keystoneauth does [7] > > I've been looking into this particular issue further, and the more I think > about it, the less necessary it seems. There are three configuration options > currently set by pbr: > > - project (the project name) > - version (the full version, including alpha/beta/rc tags) > - release (the short X.Y version) > > Of these, 'project' is static and should never change, so we don't need to > attempt to guess them. Version and release are dynamic but I've noticed we > don't actually use them anywhere in openstackdocstheme (the version you see in > the URL is actually an artefact of the build process and nothing to do with > Sphinx). The closest thing we _do_ get to including version information is the > commit ID include in header of api-ref build pages [1], which is generated by > openstackdocstheme. The 1.12.0 release of openstackdocstheme provides an option to get to more than the current version of a project's docs. It acquires the values by querying the most recent five git tags: https://review.openstack.org/#/c/477639/ Anne > > Given this fact, I think pbr is a providing a solution in search of problem > here, and this feature can in fact go quietly into the night with no further > ado. > > Thoughts? > Stephen > > PS: If we really did want to include a version in the docs in the future, I > think we could use information provided by ZUUL. I'm no ZUUL expert, but it > seems ZUUL does have commit id info ('ZUUL_REF') and what I hope to be > something like what 'git-describe' ('ZUUL_REFNAME'). We could simply pass > these > via the '--version' parameter to 'build_sphinx' [3]. Again though, I don't > think this is necessary. > > PPS: I have not responded to the other replies to this mail yet because Red > Hat's email servers have decided not to send me replies to my own posts on > openstack-dev. I have seen them though and will reply when I figure out how to > get mboxes. > > [1] https://developer.openstack.org/api-ref/compute/ > [2] > https://github.com/openstack-infra/zuul/blob/8dda7c1/tools/trigger-job.py#L > 54-L60 > [3] > https://github.com/openstack-infra/project-config/blob/32aff86f/jenkins/scr > ipts/run-docs.sh#L20 > > __ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev -- Read my blog: justwrite.click Subscribe to Docs|Code: docslikecode.com __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On Fri, 2017-07-07 at 15:58 +0100, sfinu...@redhat.com wrote: > tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just > remove the feature at this point. However, this is going to necessitate some > mechanical changes for most projects with docs and this mail serves as a > heads up and request for input before we proceed. [snip] > Here are the features that the plugin provides, along with the current > migration plans: ... > - Automatically sets project name and version using pbr's machinery > > Try to set this from 'openstackdocstheme'. If this isn't possible, folks > will need to add some some lines to 'conf.py' like keystoneauth does [7] I've been looking into this particular issue further, and the more I think about it, the less necessary it seems. There are three configuration options currently set by pbr: - project (the project name) - version (the full version, including alpha/beta/rc tags) - release (the short X.Y version) Of these, 'project' is static and should never change, so we don't need to attempt to guess them. Version and release are dynamic but I've noticed we don't actually use them anywhere in openstackdocstheme (the version you see in the URL is actually an artefact of the build process and nothing to do with Sphinx). The closest thing we _do_ get to including version information is the commit ID include in header of api-ref build pages [1], which is generated by openstackdocstheme. Given this fact, I think pbr is a providing a solution in search of problem here, and this feature can in fact go quietly into the night with no further ado. Thoughts? Stephen PS: If we really did want to include a version in the docs in the future, I think we could use information provided by ZUUL. I'm no ZUUL expert, but it seems ZUUL does have commit id info ('ZUUL_REF') and what I hope to be something like what 'git-describe' ('ZUUL_REFNAME'). We could simply pass these via the '--version' parameter to 'build_sphinx' [3]. Again though, I don't think this is necessary. PPS: I have not responded to the other replies to this mail yet because Red Hat's email servers have decided not to send me replies to my own posts on openstack-dev. I have seen them though and will reply when I figure out how to get mboxes. [1] https://developer.openstack.org/api-ref/compute/ [2] https://github.com/openstack-infra/zuul/blob/8dda7c1/tools/trigger-job.py#L 54-L60 [3] https://github.com/openstack-infra/project-config/blob/32aff86f/jenkins/scr ipts/run-docs.sh#L20 __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On 2017-07-07 18:03:11 -0500 (-0500), Monty Taylor wrote: > On 07/07/2017 12:12 PM, Jeremy Stanley wrote: [...] > > Better still, something like `tox -e venv -- sphinx-build` would > > be more in keeping with the spirit of the PTI to ensure projects > > don't encapsulate any secret sauce into a separate "docs" tox > > env and so can have their documentation built correctly via a > > more standard (for the Python ecosystem) command line. [...] > I'm starting to be of the opinion that we may be stretching things > a little far with the tox -evenv -- in this case and making it > harder not easier. [...] Sure, I agree that the tox invocation is more of an implementation detail. My concern is over making sure that projects don't each end up with their own bespoke docs building process behind some opaque entrypoint on which we've standardized. If we simply say `tox -e docs` is required then we'll end up with a number of projects calling wrapper scripts from that which do all manner of badness before (hopefully still at least) invoking sphinx-build. Sphinx already provides turing-complete flexibility on its own, so when fancy features are required we should do that by improving themes and adding plugins rather than through random hacky wrapper scripts. The detailed plan you outlined in your message (elided for the sake of brevity) seems fine to me. Thanks! -- Jeremy Stanley signature.asc Description: Digital signature __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On 07/07/2017 12:12 PM, Jeremy Stanley wrote: On 2017-07-07 11:20:30 -0400 (-0400), Doug Hellmann wrote: [...] We also discussed changing the CI interface to build docs to use the "tox -e docs" command like contributors generally run locally. [...] Better still, something like `tox -e venv -- sphinx-build` would be more in keeping with the spirit of the PTI to ensure projects don't encapsulate any secret sauce into a separate "docs" tox env and so can have their documentation built correctly via a more standard (for the Python ecosystem) command line. I've been thinking about this a bunch recently as I've been working on zuul v3 versions of our base jobs with an eye on them being sharable between installations. I'm starting to be of the opinion that we may be stretching things a little far with the tox -evenv -- in this case and making it harder not easier. I'd like to suggest a few different things: a) We define what we think the correct sphinx-build invocation is, regardless of tox/make/venv/etc. and define that in the PTI. Sphinx is perfectly usable for docs for other languages too, so having a standard "we expect sphinx-build to work right" (if that's the right invocation) seems like a better long-term win. b) Update the PTI to indicate that a tox.ini needs to have a venv env that supports arbitrary commands, regardless of which commands. c) Split docs/sphinx requirements from test-requirements.txt to docs-requirements.txt. This is potentially useful in in two ways: * Because we only have 'test-requirements.txt', it gets installs for all the things. But you know what- docutils is actually not needed to run unittests. So in many cases it should trim venv size. * In non-python projects, putting a docs-requirements.txt there even if there is not a similar requirements.txt or test-requirements.txt seems reasonable. At worst it's just a text file that indicates you need to install some python things to make docs building work and a human can figure that out. Then the CI job could be: if [ -f tox.ini ] ; then tox -evenv -- sphinx-build else if [ -f docs-requirements.txt ] ; then pip install -edocs-requirements.txt sphinx-build else sphinx-build fi And it should cover a lot of the cases, plus building docs locally should continue to work sanely. __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
On 2017-07-07 11:20:30 -0400 (-0400), Doug Hellmann wrote: [...] > We also discussed changing the CI interface to build docs to use > the "tox -e docs" command like contributors generally run locally. [...] Better still, something like `tox -e venv -- sphinx-build` would be more in keeping with the spirit of the PTI to ensure projects don't encapsulate any secret sauce into a separate "docs" tox env and so can have their documentation built correctly via a more standard (for the Python ecosystem) command line. -- Jeremy Stanley signature.asc Description: Digital signature __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
Excerpts from sfinucan's message of 2017-07-07 15:58:10 +0100: > tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just > remove the feature at this point. However, this is going to necessitate some > mechanical changes for most projects with docs and this mail serves as a heads > up and request for input before we proceed. > > -- > > Since pretty much the beginning, pbr has provided a custom 'build_sphinx' > setuptools command [1], which can be run like so: > > python setup.py build_sphinx > > This is described in the pbr docs [2] and is is based on Sphinx's own > 'build_sphinx' command [3], which is described in the Sphinx docs [4]. > > Historically, this custom version has provided a couple of features that the > upstream Sphinx extension didn't. These are outlined below. However, this > derivative has resulted in an inordinately large number of bugs for what > should > be a simple feature (#1702872, #1691129, #1681983, #1674795, #1379998, > #1496882, ...). This is due to the lack of extension points in the upstream > code and the way that we've been forced to extend the command (we break almost > every time Sphinx change their code). > > The latest of these bugs, #1702872, breaks a couple of things when using > Sphinx > > 1.6: > > - We no longer provide confoverrides when using Sphinx 1.6+, which means you > may see "node class 'xxx' is already registered' errors, and the project > name and version used in the docs may be incorrect [5] > - The '[build_sphinx] builders' in 'setup.cfg' option is no longer read, so > only 'html' docs will be built (no man pages) > - The apidoc tool won't be automatically run > > Fixing these issues is possible in the short-term and won't make the thing any > more maintainable going forward. Given the amount of issues this feature has > caused and the fact that Sphinx has since gained many of the features we > provided itself, we'd like to just drop the whole thing now. Some of the extra > this feature provide are no longer necessary, but the migration paths for the > ones that are are not great and will require mechanical changes to projects. > > Here are the features that the plugin provides, along with the current > migration plans: > > - Automatically runs sphinx-apidoc [6] before building docs > > It seems that adding the 'sphinx.ext.apidoc' extension to the 'extensions' > list in 'doc/source/conf.py' will ensure this continues to happen > automatically. However, I need to check this and will get back when I have. > > - Automatically runs 'autodoc', which seems to do something similar to > 'apidoc' > but in a different way (I don't know what, tbh) > > Drop this feature entirely as 'apidoc' appears to do something very similar. > > - Automatically sets project name and version using pbr's machinery > > Try to set this from 'openstackdocstheme'. If this isn't possible, folks > will > need to add some some lines to 'conf.py' like keystoneauth does [7] I'm inclined to just say these values should be set explicitly. We can simplify it (Monty had an idea for a 1-liner that would set all of the variables with one function call into pbr), but the project name doesn't change so there's no real sense in doing a lot of fancy automation for that one. > - Supports multiple builders via the '[build_sphinx] builders' option in > 'setup.cfg' > > This is natively supported since Sphinx 1.6. You should replace > '[build_sphinx] builders' with '[build_sphinx] builder' (singular) now That would only work if we continue to invoke Sphinx using its setuptools plugin in the gate. Is that what we want to do? We also discussed changing the CI interface to build docs to use the "tox -e docs" command like contributors generally run locally. > - Historically, supported turning build warning into build falures via the > '[build_sphinx] warnerrors' option in 'setup.cfg' > > This is no longer supported by pbr, as Sphinx now provides a '[build_sphinx] > warning-is-error' option. I wrote a load of patches to fix this recently > using the topic 'sphinx15', but if I missed your project you need to remove > '[pbr] warnerrors' from 'setup.cfg' and add '[build_sphinx] > warning-is-error'. You should do this now. This is also one of the doc-migration steps. Some projects that are hitting errors caused by the missing config overrides are going to need to wait to turn the flag on until after we figure out how to work around those issues. > Does anyone see any issues with this strategy going forward? If not, we're > going to start making changes to projects using the 'sphinx16' topic and would > appreciate reviews on these as they come in. We're not going to get to every > project, so if you can make the necessary changes to your own project then > please do. Let me know if you want some help setting up a burndown chart like https://doughellmann.com/doc-migration/. Having a tracking etherpad so folks know whether a repo
[openstack-dev] [docs] [pbr] [ptl] [oslo] Removing pbr's custom 'build_sphinx' setuptools command
tl;dr: pbr's 'build_spinx' derivative is broken again, and we want to just remove the feature at this point. However, this is going to necessitate some mechanical changes for most projects with docs and this mail serves as a heads up and request for input before we proceed. -- Since pretty much the beginning, pbr has provided a custom 'build_sphinx' setuptools command [1], which can be run like so: python setup.py build_sphinx This is described in the pbr docs [2] and is is based on Sphinx's own 'build_sphinx' command [3], which is described in the Sphinx docs [4]. Historically, this custom version has provided a couple of features that the upstream Sphinx extension didn't. These are outlined below. However, this derivative has resulted in an inordinately large number of bugs for what should be a simple feature (#1702872, #1691129, #1681983, #1674795, #1379998, #1496882, ...). This is due to the lack of extension points in the upstream code and the way that we've been forced to extend the command (we break almost every time Sphinx change their code). The latest of these bugs, #1702872, breaks a couple of things when using Sphinx > 1.6: - We no longer provide confoverrides when using Sphinx 1.6+, which means you may see "node class 'xxx' is already registered' errors, and the project name and version used in the docs may be incorrect [5] - The '[build_sphinx] builders' in 'setup.cfg' option is no longer read, so only 'html' docs will be built (no man pages) - The apidoc tool won't be automatically run Fixing these issues is possible in the short-term and won't make the thing any more maintainable going forward. Given the amount of issues this feature has caused and the fact that Sphinx has since gained many of the features we provided itself, we'd like to just drop the whole thing now. Some of the extra this feature provide are no longer necessary, but the migration paths for the ones that are are not great and will require mechanical changes to projects. Here are the features that the plugin provides, along with the current migration plans: - Automatically runs sphinx-apidoc [6] before building docs It seems that adding the 'sphinx.ext.apidoc' extension to the 'extensions' list in 'doc/source/conf.py' will ensure this continues to happen automatically. However, I need to check this and will get back when I have. - Automatically runs 'autodoc', which seems to do something similar to 'apidoc' but in a different way (I don't know what, tbh) Drop this feature entirely as 'apidoc' appears to do something very similar. - Automatically sets project name and version using pbr's machinery Try to set this from 'openstackdocstheme'. If this isn't possible, folks will need to add some some lines to 'conf.py' like keystoneauth does [7] - Supports multiple builders via the '[build_sphinx] builders' option in 'setup.cfg' This is natively supported since Sphinx 1.6. You should replace '[build_sphinx] builders' with '[build_sphinx] builder' (singular) now - Historically, supported turning build warning into build falures via the '[build_sphinx] warnerrors' option in 'setup.cfg' This is no longer supported by pbr, as Sphinx now provides a '[build_sphinx] warning-is-error' option. I wrote a load of patches to fix this recently using the topic 'sphinx15', but if I missed your project you need to remove '[pbr] warnerrors' from 'setup.cfg' and add '[build_sphinx] warning-is-error'. You should do this now. Does anyone see any issues with this strategy going forward? If not, we're going to start making changes to projects using the 'sphinx16' topic and would appreciate reviews on these as they come in. We're not going to get to every project, so if you can make the necessary changes to your own project then please do. Cheers, Stephen irc:stephenfin (formerly sfinucan) - [1] https://github.com/openstack-dev/pbr/blob/master/pbr/builddoc.py [2] https://docs.openstack.org/pbr/latest/user/using.html#build-sphinx [3] https://github.com/sphinx-doc/sphinx/blob/master/sphinx/setup_command.py [4] http://www.sphinx-doc.org/en/stable/setuptools.html [5] http://paste.openstack.org/show/614730/ [5] www.sphinx-doc.org/en/stable/man/sphinx-apidoc.html [7] https://github.com/openstack/keystoneauth/blob/master/doc/source/conf.py#L6 5-L72 __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev