zuul-jobs/roles/tox/tasks/main.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