tobiko/roles/tobiko-collect/tasks/main.yaml

56 lines
1.3 KiB
YAML

---
- name: "ensures local directory '{{ collect_dir }}' exists"
file:
path: '{{ collect_dir }}'
state: directory
delegate_to: 127.0.0.1
- name: "look for report files in {{ report_dir }}"
find:
paths:
- "{{ report_dir }}"
patterns:
- "{{ report_name }}*.log"
- "{{ report_name }}*.subunit"
- "{{ report_name }}*.html"
- "{{ report_name }}*.xml"
register: find_report_files
- name: "add found report files"
set_fact:
report_files: '{{ (( find_report_files.files | json_query("[*].path")) + report_files) | unique }}'
- name: "check if report files exists"
stat:
path: "{{ item }}"
get_checksum: no
register: stat_report_files
loop: '{{ report_files }}'
- name: "filter out non existing files"
set_fact:
report_files: '{{ stat_report_files.results | json_query("[?stat.exists].stat.path") }}'
- name: "compress report files"
when: compress_collected_files | bool
archive:
path: '{{ item }}'
loop: '{{ report_files }}'
- name: "collect report files to local directory '{{ collect_dir }}'"
synchronize:
dest: '{{ collect_dir }}'
mode: pull
src: "{{ item }}{{ report_files_suffix }}"
use_ssh_args: yes
recursive: yes
loop: '{{ report_files }}'
ignore_errors: yes