From 4e473a7848b9136a94b418ea53d03e4c08c67c5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= <radoslaw.piliszek@gmail.com>
Date: Thu, 22 Oct 2020 14:14:12 +0200
Subject: [PATCH] [tox] Optimise docs actions

Streamline all actions to behave the same (start with clean
env).

Additionally:

- doc envs do not require k-a to be (re)installed (skip_install)

- this change turns on nitpicky mode to catch reference issues
  early

Change-Id: I8ae8a1ca5f6f77ea498573e343889611559b5c97
---
 tox.ini | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/tox.ini b/tox.ini
index e737ead9fb..29f929fabd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -44,32 +44,37 @@ deps =
 commands = {posargs}
 
 [testenv:docs]
+skip_install = true
 deps =
   -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
   -r{toxinidir}/doc/requirements.txt
 commands =
-  rm -rf doc/build
-  sphinx-build -W --keep-going -b html doc/source doc/build/html
+  rm -rf doc/build/html
+  sphinx-build -n -W --keep-going -b html doc/source doc/build/html
   whereto doc/source/_extra/.htaccess doc/test/redirect-tests.txt
 
 [testenv:deploy-guide]
+skip_install = {[testenv:docs]skip_install}
 deps = {[testenv:docs]deps}
 commands =
-  rm -rf deploy-guide/build
-  sphinx-build -a -E -W -d deploy-guide/build/doctrees --keep-going -b html deploy-guide/source deploy-guide/build/html
+  rm -rf deploy-guide/build/html
+  sphinx-build -n -W --keep-going -b html deploy-guide/source deploy-guide/build/html
 
 [testenv:pdf-docs]
 allowlist_externals = make
+skip_install = {[testenv:docs]skip_install}
 deps = {[testenv:docs]deps}
 commands =
-  sphinx-build -W --keep-going -b latex doc/source doc/build/pdf
+  rm -rf doc/build/pdf
+  sphinx-build -n -W --keep-going -b latex doc/source doc/build/pdf
   make -C doc/build/pdf
 
 [testenv:releasenotes]
+skip_install = {[testenv:docs]skip_install}
 deps = {[testenv:docs]deps}
 commands =
-  rm -rf releasenotes/build
-  sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
+  rm -rf releasenotes/build/html
+  sphinx-build -n -W --keep-going -b html releasenotes/source releasenotes/build/html
 
 [testenv:linters]
 # Env vars and deps need to be defined in top level tox env