You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/pip/tasks/main.yml

61 lines
1.8 KiB
YAML

# Current pip unconditionally uses md5.
# We can re-enable if pip switches to a different hash or allows us to not check md5.
- include_tasks:
file: break_system_packages.yml
- name: Python 2
when: ansible_python.version.major == 2
block:
- name: find virtualenv command
command: "which virtualenv virtualenv-{{ ansible_python.version.major }}.{{ ansible_python.version.minor }}"
register: command
ignore_errors: true
- name: is virtualenv available to python -m
command: '{{ ansible_python_interpreter }} -m virtualenv'
register: python_m
when: not command.stdout_lines
failed_when: python_m.rc != 2
- name: remember selected virtualenv command
set_fact:
virtualenv: "{{ command.stdout_lines[0] if command is successful else ansible_python_interpreter ~ ' -m virtualenv' }}"
- name: Python 3+
when: ansible_python.version.major > 2
block:
- name: remember selected virtualenv command
set_fact:
virtualenv: "{{ ansible_python_interpreter ~ ' -m venv' }}"
- block:
- name: install git, needed for repo installs
package:
name: git
state: present
when: ansible_distribution not in ["MacOSX", "Alpine"]
register: git_install
- name: ensure wheel is installed
pip:
name: wheel
extra_args: "-c {{ remote_constraints }}"
- include_tasks: pip.yml
- include_tasks: no_setuptools.yml
when: ansible_python.version_info[:2] >= [3, 8]
always:
- name: platform specific cleanup
include_tasks: "{{ cleanup_filename }}"
with_first_found:
- "{{ ansible_distribution | lower }}_cleanup.yml"
- "default_cleanup.yml"
loop_control:
loop_var: cleanup_filename
when: ansible_fips|bool != True
module_defaults:
pip:
virtualenv_command: "{{ virtualenv }}"