summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/pip/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/pip/tasks/main.yml')
-rw-r--r--test/integration/targets/pip/tasks/main.yml54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/integration/targets/pip/tasks/main.yml b/test/integration/targets/pip/tasks/main.yml
new file mode 100644
index 0000000..66992fd
--- /dev/null
+++ b/test/integration/targets/pip/tasks/main.yml
@@ -0,0 +1,54 @@
+# Current pip unconditionally uses md5.
+# We can re-enable if pip switches to a different hash or allows us to not check md5.
+
+- 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
+ 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 }}"