--- - hosts: all tasks: - name: Read project docs configuration ansible.builtin.include_vars: "{{ docs_update_data_file }}" - name: Save doc var ansible.builtin.set_fact: doc_exports_var: "{{ categories[docs_service_category] | default({}) }}" cacheable: true - name: Detect list of changes ansible.builtin.command: "git log -1 --name-only --pretty=" args: chdir: "{{ zuul.project.src_dir }}" register: git_log ignore_errors: true changed_when: false - name: Generate RSTs ansible.builtin.include_role: name: "convert_doc" vars: doc_label: "{{ doc.0.service_type }}_{{ doc.1.type }}" dest: "{{ ansible_user_dir }}/{{ doc.0.repository }}/{{ doc.1.rst_location }}" source: "{{ zuul.project.src_dir }}/{{ doc.1.html_location }}" doc_title: "{{ [ doc.0.service_title, doc.1.title ] | join(' - ') }}" doc_short_title: "{{ doc.1.title | default(None) }}" doc_environment: "{{ doc.0.service_environment | default(None) }}" doc_link: "{{ doc.1.link | default(None) }}" doc_type: "{{ doc.1.type | default(None) }}" doc_service: "{{ doc.0.service_title | default(None) }}" doc_service_category: "{{ doc.0.service_category | default(None) }}" doc_service_type: "{{ doc.0.service_type | default(None) }}" doc_repo_name: "{{ doc.0.repository | default(None) }}" doc_pdf_name: "{{ doc.1.pdf_name | default(None) }}" loop: "{{ doc_exports_var | subelements('docs') }}" loop_control: loop_var: "doc" label: "{{ doc.0.service_type }}_{{ doc.1.type }}" when: - "doc.1.html_location is defined" - "doc.1.rst_location is defined" - | git_log.stdout is search(doc.1.html_location) or git_log.stdout is search('metadata.yaml') or git_log.stdout is search('playbooks') or git_log.stdout is search('templates')