zuul-jobs/roles/emit-ara-html/tasks/main.yaml
David Moreau-Simard 6569f07107
Add the ability to generate an ARA report only on job failure
This changes the 'ara_generate_html' toggle to provide three options:
- true (always generate a report)
- false (never generate a report)
- 'failure' (only generate a report on failure, based on zuul_success)

This defaults to true and can be changed on a job basis.

Change-Id: I9a6a3c999b7656b1f5b25b0cb6c2baa63d7857b2
2017-10-12 17:43:41 -04:00

38 lines
1.2 KiB
YAML

- name: Check for ARA db
stat:
path: "{{ zuul.executor.work_root }}/.ara/ansible.sqlite"
register: ara_db_stat
- name: Save the ARA database
command: |
cp "{{ zuul.executor.work_root }}/.ara/ansible.sqlite" \
{{ zuul.executor.log_root }}
when:
- ara_db_stat.stat.exists
- ara_save_database | bool
- name: Check for ARA install
command: which ara
ignore_errors: yes
register: ara_command_type
when: ara_db_stat.stat.exists
- when:
- ara_command_type | succeeded
- not ara_command_type | skipped
block:
# Always generate (true), never (false) or only on failure ('failure')
# Additionally cover for edge cases where zuul_success might be undefined
- name: Generate ARA html output
command: "ara generate html {{ zuul.executor.log_root }}/ara"
ignore_errors: yes
when: ara_generate_html | bool or
(ara_generate_html == 'failure' and not zuul_success | default(false) | bool)
register: ara_generated
- name: Compress ARA html output
command: gzip --recursive --best {{ zuul.executor.log_root }}/ara
ignore_errors: yes
when:
- not ara_generated | skipped