--- # NOTE: gettext command is provided by gettext-base package, # so we need to check a command provided by gettext package. - name: Check for gettext installed command: bash -c "type msgmerge" ignore_errors: yes register: gettext_exists # TODO(mordred) Make this a list of known binary depends that sphinx needs - name: Install gettext package package: name: gettext state: present become: yes when: gettext_exists.rc != 0 - name: Find Constraints File include_role: name: find-constraints # We're not using with_first_found because the files are remote, not local. # We want to use doc/requirements.txt if it exists or fallback to # test-requirements.txt. - name: Get requirements files shell: executable: /bin/bash chdir: "{{ zuul_work_dir }}" cmd: | for f in doc/requirements.txt test-requirements.txt ; do if [ -f $f ] ; then echo $f break fi done register: requirements_file - name: Gather python version variables include_vars: "{{ sphinx_python.split('.')[0] }}.yaml" # TODO(dmsimard) Don't assume virtualenv is installed - name: Install base doc building packages pip: name: "{{ doc_building_packages | union(doc_building_extra_packages) }}" chdir: "{{ zuul_work_dir }}" virtualenv: "{{ zuul_work_virtualenv }}" virtualenv_python: "{{ sphinx_python }}" extra_args: "{{ upper_constraints | default(omit) }}" # TODO(dmsimard) Don't assume virtualenv is installed - name: Install found doc requirements pip: requirements: "{{ requirements_file.stdout }}" chdir: "{{ zuul_work_dir }}" virtualenv: "{{ zuul_work_virtualenv }}" virtualenv_python: "{{ sphinx_python }}" extra_args: "{{ upper_constraints | default(omit) }}" when: requirements_file.stdout_lines