zuul-jobs/roles/nox/tasks/main.yaml
Lukas Kranz d8ec17cab0 Remove get_md5 parameter from stat module.
The get_md5 parameter was removed with ansible 9.
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_9.html#id44

If it is being used the following error appears:
"Unsupported parameters for (stat) module: get_md5..."

Unrelated, but also blocking testing/merging of this change, the
Ansible version specs for older python versions is loosened
to allow installing older versions of Ansible on test nodes (like
focal) that have older pythons that are unsupported by newer Ansible.

Change-Id: I99dd4f16fde659d84eb3dfa191557b3d9508b0fb
2024-08-01 07:12:17 -07:00

100 lines
3.0 KiB
YAML

- name: Check to see if the constraints file exists
stat:
path: "{{ nox_constraints_file }}"
get_checksum: false
get_mime: false
register: stat_results
when: nox_constraints_file is defined
- name: Fail if constraints file is missing
when: nox_constraints_file is defined and not stat_results.stat.exists
fail:
msg: nox_constraints_file is defined but was not found
- name: Record constraints file location
set_fact:
nox_constraints_env:
NOX_CONSTRAINTS_FILE: "{{ nox_constraints_file }}"
when: nox_constraints_file is defined
- name: Install nox siblings
include_tasks: siblings.yaml
when: nox_install_siblings
- name: Emit nox command
debug:
msg: >-
{{ nox_executable }}
{% if nox_config_file is defined and nox_config_file %}
-f {{ nox_config_file }}
{% endif %}
{% if nox_session is defined and nox_session %}
-s {{ nox_session }}
{% endif %}
{% if nox_keyword is defined and nox_keyword %}
-k {{ nox_keyword }}
{% endif %}
{% if nox_tag is defined and nox_tag %}
-t {{ nox_tag }}
{% endif %}
{% if nox_force_python is defined and nox_force_python %}
--force-python {{ nox_force_python }}
{% endif %}
{% if nox_install_siblings %}
--reuse-existing-virtualenvs --no-install
{% endif %}
{{ nox_extra_args }}
- name: Run nox
block:
- name: Run nox
args:
chdir: "{{ zuul_work_dir }}"
environment: "{{ nox_environment | combine(nox_constraints_env | default({})) }}"
command: >-
{{ nox_executable }}
{% if nox_config_file is defined and nox_config_file %}
-f {{ nox_config_file }}
{% endif %}
{% if nox_session is defined and nox_session %}
-s {{ nox_session }}
{% endif %}
{% if nox_keyword is defined and nox_keyword %}
-k {{ nox_keyword }}
{% endif %}
{% if nox_tag is defined and nox_tag %}
-t {{ nox_tag }}
{% endif %}
{% if nox_force_python is defined and nox_force_python %}
--force-python {{ nox_force_python }}
{% endif %}
{% if nox_install_siblings %}
--reuse-existing-virtualenvs --no-install
{% endif %}
{{ nox_extra_args }}
register: nox_output
# Even though any test environment in nox failed we want to
# return file comments produced so always run this.
always:
- name: Look for output
tox_parse_output:
tox_output: '{{ nox_output.stdout }}'
tox_envlist: '{{ nox_session | default(nox_keyword) | default(nox_tag) }}'
workdir: '{{ zuul_work_dir }}'
when: nox_inline_comments
register: file_comments
failed_when: false
- name: Return file comments to Zuul
when:
- nox_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