David Moreau Simard 1f8c473765
Add sphinx_python variable to sphinx role and job
Some projects, such as Zuul itself, need to use python3 to build docs.

This adds a new parameter, sphinx_python, which defines the version
of python to build documentation with. The default is python2 and
projects can choose python3 on a need basis.

Remove the comment about the need for a leading comment, since there
is now a real need for the leading comment anyway.

Replace a few direct references to {{ ansible_user_dir }}/.venv that
should have been using zuul_work_virtualenv.

Update sphinx invocation to source the virtualenv activate first.
Some sphinx modules, such as sphinxcontrib.programoutput, attempt to
execute programs and only invoking sphinx-build with the relative
path causes the paths to not be set up properly.

Co-Authored-By: David Moreau Simard <dmsimard@redhat.com>
Change-Id: Ie5e2c93f88465f4aa746827ff88a585dbaa44fd5
2017-12-05 21:10:15 -05:00

48 lines
1.4 KiB
YAML

- name: Attempt to get warning-is-error from config file
when: 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
set_fact:
sphinx_warning_is_error: "{{ check_result.warning_is_error }}"
- name: Run sphinx
shell:
executable: /bin/bash
cmd: |
# Source the activate file so that sphinx subcommands have the correct
# paths set.
source {{ zuul_work_virtualenv }}/bin/activate
sphinx-build -b {{ item }} \
{% if sphinx_warning_is_error %} -W {% endif %} \
{{ sphinx_source_dir }} {{ sphinx_build_dir }}/{{ item }}
chdir: "{{ zuul_work_dir }}"
with_items: "{{ sphinx_builders }}"
- name: Check for whereto
stat:
path: "{{ zuul_work_virtualenv }}/bin/whereto"
get_checksum: false
get_mime: false
get_md5: false
register: whereto
- name: Check for htaccess
stat:
path: "{{ zuul_work_dir }}/{{ sphinx_source_dir }}/_extra/.htaccess"
get_checksum: false
get_mime: false
get_md5: false
register: htaccess
- name: Run whereto
command:
cmd: "{{ whereto.stat.path }} {{ sphinx_source_dir }}/_extra/.htaccess doc/test/redirect-tests.txt"
chdir: "{{ zuul_work_dir }}"
when:
- whereto.stat.exists
- htaccess.stat.exists