zuul-jobs/roles/ensure-sphinx/tasks/main.yaml
Akihiro Motoki a4f4351013 Fix build-openstack-releasenotes by non-existing msgmerge
"gettext" command is provided by gettext-base package in Xenial.
To make build-openstack-releasenotes work we need to check commands
like "msgmerge" provided by gettext package.

Change-Id: I6c9f303dd5f284d7df68a4b764b84a05309f6693
2018-10-21 17:28:21 +09:00

55 lines
1.7 KiB
YAML

# 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
# TODO(dmsimard) Don't assume virtualenv is installed
- name: Install base doc building packages
pip:
name: "{{ item }}"
chdir: "{{ zuul_work_dir }}"
virtualenv: "{{ zuul_work_virtualenv }}"
virtualenv_python: "{{ sphinx_python }}"
extra_args: "{{ upper_constraints | default(omit) }}"
with_items: "{{ doc_building_packages }}"
# 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