3d449a07df
In some situations, projects may not keep a tox.ini in the root directory of their repository, or may even have multiple tox configuration files. Allow the location and name of the config to be overridden explicitly through the use of a new rolevar. Change-Id: I1927142e6d9fa75e96902ae001c8ca98d69c7443
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
- 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:
|
|
TOX_CONSTRAINTS_FILE: "{{ tox_constraints_file }}"
|
|
# Backward compatibility, to be removed
|
|
UPPER_CONSTRAINTS_FILE: "{{ tox_constraints_file }}"
|
|
when: tox_constraints_file is defined
|
|
|
|
- name: Install tox siblings
|
|
include_tasks: siblings.yaml
|
|
when: tox_install_siblings
|
|
|
|
- name: Emit tox command
|
|
debug:
|
|
msg: >-
|
|
{{ tox_executable }}
|
|
{% if tox_config_file is defined and tox_config_file %}
|
|
-c{{ tox_config_file }}
|
|
{% endif %}
|
|
{% if tox_envlist is defined and tox_envlist %}
|
|
-e{{ tox_envlist }}
|
|
{% endif %}
|
|
{{ tox_extra_args }}
|
|
|
|
- block:
|
|
- name: Run tox
|
|
args:
|
|
chdir: "{{ zuul_work_dir }}"
|
|
environment: "{{ tox_environment|combine(tox_constraints_env|default({})) }}"
|
|
command: >-
|
|
{{ tox_executable }}
|
|
{% if tox_config_file is defined and tox_config_file %}
|
|
-c{{ tox_config_file }}
|
|
{% endif %}
|
|
{% if tox_envlist is defined and tox_envlist %}
|
|
-e{{ tox_envlist }}
|
|
{% endif %}
|
|
{{ tox_extra_args }}
|
|
register: tox_output
|
|
|
|
# Even though any test environment in tox failed we want to
|
|
# return file comments produced so always run this.
|
|
always:
|
|
- name: Look for output
|
|
tox_parse_output:
|
|
tox_output: '{{ tox_output.stdout }}'
|
|
tox_envlist: '{{ tox_envlist | default("default") }}'
|
|
workdir: '{{ zuul_work_dir }}'
|
|
when: tox_inline_comments
|
|
register: file_comments
|
|
failed_when: false
|
|
|
|
- name: Return file comments to Zuul
|
|
when:
|
|
- tox_inline_comments
|
|
- file_comments.file_comments is defined
|
|
- file_comments.file_comments
|
|
delegate_to: localhost
|
|
zuul_return:
|
|
data:
|
|
zuul:
|
|
file_comments: '{{ file_comments.file_comments }}'
|
|
failed_when: false
|