zuul-jobs/test-playbooks/python/fetch-tox-output.yaml
Clark Boylan 13925d1965 Flip ensure-tox to tox v4 by default
The previous change added a bunch of tox v4 compatiblity, now we switch
to as our default. This should only happen after people have had
sufficient time to add tox v4 compatibility or manually pin back to <4
in their projects.

Change-Id: I16742fb933dba2162a73d532e1a9613af69021aa
2022-12-22 15:40:11 -08:00

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/1-install_package.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/1-install_package.log"
delegate_to: localhost
register: _executor_artifact
failed_when: not _executor_artifact.stat.exists