62 lines
1.6 KiB
YAML
62 lines
1.6 KiB
YAML
- name: Require tox_envlist variable
|
|
fail:
|
|
msg: tox_envlist is required for this role
|
|
when: tox_envlist is not defined
|
|
|
|
- name: Check to see if the constraints file exists
|
|
stat:
|
|
path: "{{ tox_constraints_file }}"
|
|
get_checksum: false
|
|
get_mime: false
|
|
get_md5: false
|
|
register: stat_results
|
|
when: tox_constraints_file is defined
|
|
|
|
- name: Fail if constraints file is missing
|
|
when: tox_constraints_file is defined and not stat_results.stat.exists
|
|
fail:
|
|
msg: tox_constraints_file is defined but was not found
|
|
|
|
- name: Record file location
|
|
set_fact:
|
|
tox_constraints_env:
|
|
UPPER_CONSTRAINTS_FILE: "{{ tox_constraints_file }}"
|
|
when: tox_constraints_file is defined
|
|
|
|
- name: Install tox siblings
|
|
include: siblings.yaml
|
|
when: tox_install_siblings
|
|
|
|
- name: Emit tox command
|
|
debug:
|
|
msg: "Running tox: {{ tox_executable }} -e{{ tox_envlist }} {{ tox_extra_args }}"
|
|
|
|
- name: Run tox
|
|
args:
|
|
chdir: "{{ zuul_work_dir }}"
|
|
environment: "{{ tox_environment|combine(tox_constraints_env|default({})) }}"
|
|
command: "{{ tox_executable }} -e{{ tox_envlist }} {{ tox_extra_args }}"
|
|
failed_when: false
|
|
register: tox_output
|
|
|
|
- name: Look for output
|
|
tox_parse_output:
|
|
tox_output: '{{ tox_output.stdout }}'
|
|
register: file_comments
|
|
|
|
- name: Return file comments to Zuul
|
|
when: file_comments.file_comments
|
|
delegate_to: localhost
|
|
zuul_return:
|
|
data:
|
|
zuul:
|
|
file_comments: '{{ file_comments.file_comments }}'
|
|
tags:
|
|
# Avoid "no action detected in task" linter error
|
|
- skip_ansible_lint
|
|
|
|
- name: Return tox status
|
|
fail:
|
|
msg: 'tox exited with return code {{ tox_output.rc }}'
|
|
when: tox_output.rc != 0
|