Add fetch-stestr-output role

This commit adds a new role for jobs that run stestr instead of
testrepository. This will generate the output using stestr for those
cases like we do with testr for the old jobs which leverage
testrepository. This change is the dual of the jenkins script patch:
I1fc3b146e99e3484fa009b227ee5d0aeb6ed6084

Change-Id: Ibf652801507ad2845281dd540b4007b04875b2ae
This commit is contained in:
Matthew Treinish 2017-08-07 13:53:38 -04:00
parent a8399b2bad
commit 131e8544b8
4 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,2 @@
---
zuul_work_dir: "src/{{ zuul.project.canonical_name }}"

View File

@ -0,0 +1,23 @@
- name: Register stestr directory
stat:
path: "{{ zuul_work_dir }}/.stestr"
register: stestr_stat
- name: Process testr artifacts
include: process.yaml
when:
- stestr_stat.stat.exists
- name: Collect test-results
synchronize:
dest: "{{ zuul.executor.log_root }}"
mode: pull
rsync_opts:
- "--ignore-missing-args"
src: "{{ zuul_work_dir }}/{{ item }}"
verify_host: true
with_items:
- "*testr_results.html.gz"
- "*testrepository.subunit.gz"
when:
- stestr_stat.stat.exists

View File

@ -0,0 +1,31 @@
- name: Generate testrepository.subunit file
shell: ".tox/{{ tox_envlist }}/bin/stestr last --subunit > ./testrepository.subunit"
args:
chdir: "{{ zuul_work_dir }}"
- name: Generate testr_results.html file
command: "/usr/os-testr-env/bin/subunit2html ./testrepository.subunit testr_results.html"
args:
chdir: "{{ zuul_work_dir }}"
- name: Register testrepository.subunit file
stat:
path: "{{ zuul_work_dir }}/testrepository.subunit"
register: p
- name: Compress testrepository.subunit file
archive:
path: "{{ p.stat.path }}"
when:
- p.stat.exists
- name: Register testr_results.html file
stat:
path: "{{ zuul_work_dir }}/testr_results.html"
register: html
- name: Compress testr_results.html file
archive:
path: "{{ html.stat.path }}"
when:
- html.stat.exists

View File

@ -19,3 +19,5 @@
with_items:
- "*testr_results.html.gz"
- "*testrepository.subunit.gz"
when:
- testrepository_stat.stat.exists