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
This commit is contained in:
Andreas Jaeger 2017-12-26 11:06:22 +01:00
parent af67099a29
commit 7ee3db4d1b

View File

@ -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 - 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: sphinx_check_warning_is_error:
project_dir: "{{ zuul_work_dir }}" project_dir: "{{ zuul_work_dir }}"
register: check_result register: check_result
- name: Set sphinx_warning_is_error - 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: set_fact:
sphinx_warning_is_error: "{{ check_result.warning_is_error }}" sphinx_warning_is_error: "{{ check_result.warning_is_error }}"
sphinx_pbr_autodoc: "{{ check_result.autodoc_index_modules }}" 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 - name: Run sphinx
shell: shell:
executable: /bin/bash executable: /bin/bash
@ -22,7 +44,8 @@
{{ sphinx_source_dir }} {{ sphinx_build_dir }}/{{ item }} {{ sphinx_source_dir }} {{ sphinx_build_dir }}/{{ item }}
chdir: "{{ zuul_work_dir }}" chdir: "{{ zuul_work_dir }}"
with_items: "{{ sphinx_builders }}" 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 # TODO(mordred) Remove this when we get projects off of the pbr autoindex
- name: Run sphinx using legacy pbr runner - name: Run sphinx using legacy pbr runner
@ -34,7 +57,9 @@
source {{ zuul_work_virtualenv }}/bin/activate source {{ zuul_work_virtualenv }}/bin/activate
python setup.py build_sphinx python setup.py build_sphinx
chdir: "{{ zuul_work_dir }}" chdir: "{{ zuul_work_dir }}"
when: sphinx_pbr_autodoc when:
- use_doc_dir
- sphinx_pbr_autodoc
- name: Check for whereto - name: Check for whereto
stat: stat:
@ -59,3 +84,4 @@
when: when:
- whereto.stat.exists - whereto.stat.exists
- htaccess.stat.exists - htaccess.stat.exists
- use_doc_dir