
New tox>=4 does not prefix the filenames with the env name. THis means we'll squash together log files if more than one env is run. Address this while on tox v3 to avoid regressions. Change-Id: I2601cc7faa1f7a5d7f2d950d637dfa84c50717ae
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
- hosts: all
|
|
pre_tasks:
|
|
# Run ensure-output-dirs now as it is not performed speculatively
|
|
- import_role:
|
|
name: ensure-output-dirs
|
|
|
|
- name: Simplify tox config
|
|
copy:
|
|
content: "{{ item.content }}"
|
|
dest: "{{ zuul.project.src_dir }}/{{ item.dest }}"
|
|
with_items:
|
|
- content: |
|
|
[testenv]
|
|
sitepackages = True
|
|
usedevelop = True
|
|
|
|
[testenv:venv]
|
|
commands = python -c 'exit(0)'
|
|
dest: tox.ini
|
|
- content: |
|
|
import setuptools
|
|
setuptools.setup(py_modules=[])
|
|
dest: setup.py
|
|
- content: ""
|
|
dest: setup.cfg
|
|
|
|
- name: Generate tox results
|
|
include_role:
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- ensure-tox
|
|
- ensure-python
|
|
- tox
|
|
|
|
tasks:
|
|
- import_role:
|
|
name: fetch-tox-output
|
|
vars:
|
|
tox_envlist: "ALL"
|
|
|
|
- block:
|
|
- name: Undo the log_path fact set by fetch-javascript-output
|
|
set_fact:
|
|
log_path: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
|
|
when: groups['all'] | length > 1
|
|
|
|
- name: Undo the log_path fact set log path for single node
|
|
set_fact:
|
|
log_path: "{{ zuul.executor.log_root }}"
|
|
when: groups['all'] | length == 1
|
|
|
|
- import_role:
|
|
name: fetch-output
|
|
when: zuul_use_fetch_output
|
|
|
|
post_tasks:
|
|
- name: Check for artifact on the test instance
|
|
stat:
|
|
path: "{{ ansible_user_dir }}/zuul-output/logs/tox/venv/venv-0.log"
|
|
register: _test_artifact
|
|
failed_when: not _test_artifact.stat.exists
|
|
when: zuul_use_fetch_output
|
|
|
|
- name: Check for artifact on the executor
|
|
stat:
|
|
path: "{{ zuul.executor.log_root }}/tox/venv/venv-0.log"
|
|
delegate_to: localhost
|
|
register: _executor_artifact
|
|
failed_when: not _executor_artifact.stat.exists
|