[tox] minversion = 1.6 envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklinks skipsdist = True [testenv] basepython = python2.7 setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash mkdir mv rsync [testenv:venv] commands = {posargs} [testenv:checklinks] commands = openstack-doc-test --check-links {posargs} [testenv:checkniceness] commands = openstack-doc-test --check-niceness {posargs} doc8 firstapp doc8 api-quick-start [testenv:checksyntax] commands = # WADLs using entity files are not properly handled by # openstack-doc-test, we therefore have to check all files that # are in the tree for any syntax issues. openstack-doc-test --check-syntax --force {posargs} # Check that .po and .pot files are valid: bash -c "find api* -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:checkdeletions] commands = openstack-doc-test --check-deletions {posargs} [testenv:checkbuild] commands = # Build and copy RST Guides {toxinidir}/tools/build-all-rst.sh # Build website index {toxinidir}/tools/build-index.sh build # Build DocBook Guides openstack-doc-test --check-build {posargs} [testenv:makeswagger] commands = # Build Swagger files {toxinidir}/tools/build-api-ref-swagger.sh [testenv:publishdocs] # Prepare documents (without www) so that they can get published on # docs.openstack.org with just copying publish-docs/* over. commands = true [testenv:publishdocs-api] # Prepare documents (without www) so that they can get published on # developer.openstack.org with just copying publish-docs/api-ref over. commands = openstack-doc-test --check-build --publish --only-book api-ref --only-book api-ref-guides # We need to move api-ref-guides to the proper place: mv publish-docs/api-ref-guides publish-docs/api-ref/ # Build and copy RST Guides {toxinidir}/tools/build-firstapp-rst.sh # Build and copy API Quick Start {toxinidir}/tools/build-api-quick-start.sh # Build website index {toxinidir}/tools/build-index.sh publish # Build RST/JSON from fairy-slipper {toxinidir}/tools/build-api-ref-swagger.sh [testenv:checklang] # openstack-generate-docbook needs xml2po which cannot be installed in # the venv. Since it's installed in the system, let's use # sitepackages. sitepackages=True whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf test all [testenv:buildlang] # Run as "tox -e buildlang -- $LANG" # openstack-generate-docbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. sitepackages=True whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf test {posargs} [testenv:publishlang] # openstack-generate-docbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. # NOTE(jaegerandi): Remove this as soon as job has been removed. sitepackages=True # Do nothing for now commands = true [testenv:publishlang-api] # openstack-generate-docbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. # Publish translated documents to developer.openstack.org with just # copying publish-docs/api-ref over. sitepackages=True whitelist_externals = doc-tools-check-languages mkdir mv rm commands = # Cleanup first - important when this environment runs locally # multiple times. rm -rf publish-docs doc-tools-check-languages doc-tools-check-languages.conf publish all # Move directories to proper place, we publish translated # quick-start guides at # developer.openstack.org/LANG/api-guide/quick-start or # developer.openstack.org/draft/LANG/api-guide/quick-start. mkdir -p publish-docs/api-ref mkdir -p publish-docs/api-ref/de/api-guide mkdir -p publish-docs/api-ref/ja/api-guide mkdir -p publish-docs/api-ref/ko_KR/api-guide mv publish-docs/de/api-quick-start/ publish-docs/api-ref/de/api-guide/quick-start mv publish-docs/ja/api-quick-start/ publish-docs/api-ref/ja/api-guide/quick-start mv publish-docs/ko_KR/api-quick-start/ publish-docs/api-ref/ko_KR/api-guide/quick-start [testenv:generatepot-rst] # Generate POT files for translation, needs {posargs} like: # tox -e generatepot-rst -- firstapp commands = {toxinidir}/tools/generatepot-rst.sh api-site 0 {posargs} [testenv:docs] commands = {toxinidir}/tools/build-all-rst.sh [testenv:firstapp-libcloud] commands = sphinx-build -E -W -t libcloud firstapp/source firstapp/build-libcloud/html [testenv:firstapp-jclouds] commands = sphinx-build -E -W -t jclouds firstapp/source firstapp/build-jclouds/html [testenv:firstapp-fog] commands = sphinx-build -E -W -t fog firstapp/source firstapp/build-fog/html [testenv:firstapp-dotnet] commands = sphinx-build -E -W -t dotnet firstapp/source firstapp/build-dotnet/html [testenv:firstapp-pkgcloud] commands = sphinx-build -E -W -t pkgcloud firstapp/source firstapp/build-pkgcloud/html [testenv:firstapp-openstacksdk] commands = sphinx-build -E -W -t openstacksdk firstapp/source firstapp/build-openstacksdk/html [testenv:firstapp-todos] commands = sphinx-build -E -W -t libcloud firstapp/source firstapp/build/html [testenv:firstapp-shade] commands = sphinx-build -E -W -t shade firstapp/source firstapp/build-shade/html [testenv:firstapp-gophercloud] commands = sphinx-build -E -W -t gophercloud firstapp/source firstapp/build-gophercloud/html [testenv:api-quick-start] commands = {toxinidir}/tools/build-api-quick-start.sh [doc8] # Settings for doc8: # Ignore target directories ignore-path = firstapp/build*,common/ # File extensions to use extensions = .rst,.txt # Ignore lines longer than 79 chars ignore = D001