From 7ee3db4d1b3afd7e9ce93373231c9c289d5a4f56 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 26 Dec 2017 11:06:22 +0100 Subject: [PATCH] Fix non-standard docs build sphinx_warning_is_error and sphinx-pbr_autodoc are only useful for the default documents living in doc/ - but not for api-ref, api-guide, etc. Check for standard builds and do not run the "python setup.py build_sphinx" or whereto for non-standard paths. Change-Id: Ia8edd8a6ebc24f67a52d77c21b0cfa467e45a7ce --- roles/sphinx/tasks/main.yaml | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/roles/sphinx/tasks/main.yaml b/roles/sphinx/tasks/main.yaml index 4c3822cdb..a08d428bb 100644 --- a/roles/sphinx/tasks/main.yaml +++ b/roles/sphinx/tasks/main.yaml @@ -1,15 +1,37 @@ +- name: By default, we use standard doc dir + set_fact: + use_doc_dir: true + +- name: Check if sphinx_source_dir was changed + set_fact: + use_doc_dir: false + when: sphinx_source_dir != "doc/source" + - name: Attempt to get warning-is-error from config file - when: sphinx_warning_is_error is not defined + when: + - use_doc_dir + - sphinx_warning_is_error is not defined sphinx_check_warning_is_error: project_dir: "{{ zuul_work_dir }}" register: check_result - name: Set sphinx_warning_is_error - when: sphinx_warning_is_error is not defined + when: + - use_doc_dir + - sphinx_warning_is_error is not defined set_fact: sphinx_warning_is_error: "{{ check_result.warning_is_error }}" sphinx_pbr_autodoc: "{{ check_result.autodoc_index_modules }}" +- name: Set sphinx_warning_is_error + when: + - not use_doc_dir + - sphinx_warning_is_error is not defined + set_fact: + # Non-default dirs always enable warnings + sphinx_warning_is_error: true + sphinx_pbr_autodoc: false + - name: Run sphinx shell: executable: /bin/bash @@ -22,7 +44,8 @@ {{ sphinx_source_dir }} {{ sphinx_build_dir }}/{{ item }} chdir: "{{ zuul_work_dir }}" with_items: "{{ sphinx_builders }}" - when: not sphinx_pbr_autodoc + when: + - not use_doc_dir or not sphinx_pbr_autodoc # TODO(mordred) Remove this when we get projects off of the pbr autoindex - name: Run sphinx using legacy pbr runner @@ -34,7 +57,9 @@ source {{ zuul_work_virtualenv }}/bin/activate python setup.py build_sphinx chdir: "{{ zuul_work_dir }}" - when: sphinx_pbr_autodoc + when: + - use_doc_dir + - sphinx_pbr_autodoc - name: Check for whereto stat: @@ -59,3 +84,4 @@ when: - whereto.stat.exists - htaccess.stat.exists + - use_doc_dir