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:
parent
a8399b2bad
commit
131e8544b8
2
roles/fetch-stestr-output/defaults/main.yaml
Normal file
2
roles/fetch-stestr-output/defaults/main.yaml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
zuul_work_dir: "src/{{ zuul.project.canonical_name }}"
|
23
roles/fetch-stestr-output/tasks/main.yaml
Normal file
23
roles/fetch-stestr-output/tasks/main.yaml
Normal 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
|
31
roles/fetch-stestr-output/tasks/process.yaml
Normal file
31
roles/fetch-stestr-output/tasks/process.yaml
Normal 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
|
@ -19,3 +19,5 @@
|
|||||||
with_items:
|
with_items:
|
||||||
- "*testr_results.html.gz"
|
- "*testr_results.html.gz"
|
||||||
- "*testrepository.subunit.gz"
|
- "*testrepository.subunit.gz"
|
||||||
|
when:
|
||||||
|
- testrepository_stat.stat.exists
|
||||||
|
Loading…
Reference in New Issue
Block a user