Merge "create-venv: make upgrade venv once per day"
This commit is contained in:
commit
a4de077ed1
@ -2,36 +2,53 @@
|
|||||||
assert:
|
assert:
|
||||||
that: create_venv_path is defined
|
that: create_venv_path is defined
|
||||||
|
|
||||||
|
- name: Ensure venv dir
|
||||||
|
file:
|
||||||
|
path: '{{ create_venv_path }}'
|
||||||
|
state: directory
|
||||||
|
|
||||||
# Xenial's default pip will try to pull in packages that
|
# Xenial's default pip will try to pull in packages that
|
||||||
# aren't compatible with 3.5. Cap them
|
# aren't compatible with 3.5. Cap them
|
||||||
- name: Setup bionic era venv
|
- name: Setup requirements for bionic
|
||||||
when: ansible_distribution_version is version('16.04', '==')
|
when: ansible_distribution_version is version('16.04', '==')
|
||||||
pip:
|
set_fact:
|
||||||
name:
|
_venv_requirements:
|
||||||
- pip<21
|
- pip<21
|
||||||
- setuptools<51
|
- setuptools<51
|
||||||
state: latest
|
|
||||||
virtualenv: '{{ create_venv_path }}'
|
|
||||||
virtualenv_command: '/usr/bin/python3 -m venv'
|
|
||||||
|
|
||||||
# Bionic's default pip will try to pull in packages that
|
# Bionic's default pip will try to pull in packages that
|
||||||
# aren't compatible with 3.6. Cap them
|
# aren't compatible with 3.6. Cap them
|
||||||
- name: Setup bionic era venv
|
- name: Setup requirements for Bionic
|
||||||
when: ansible_distribution_version is version('18.04', '==')
|
when: ansible_distribution_version is version('18.04', '==')
|
||||||
pip:
|
set_fact:
|
||||||
name:
|
_venv_requirements:
|
||||||
- pip<22
|
- pip<22
|
||||||
- setuptools<60
|
- setuptools<60
|
||||||
state: latest
|
|
||||||
virtualenv: '{{ create_venv_path }}'
|
|
||||||
virtualenv_command: '/usr/bin/python3 -m venv'
|
|
||||||
|
|
||||||
- name: Setup later era venv
|
- name: Setup requirements for later era
|
||||||
when: ansible_distribution_version is version('20.04', '>=')
|
when: ansible_distribution_version is version('20.04', '>=')
|
||||||
pip:
|
set_fact:
|
||||||
name:
|
_venv_requirements:
|
||||||
- pip
|
- pip
|
||||||
- setuptools
|
- setuptools
|
||||||
state: latest
|
|
||||||
|
# This is used to timestamp the requirements-venv.txt file. This
|
||||||
|
# means we will run --upgrade on the venv once a day, but otherwise
|
||||||
|
# leave it alone.
|
||||||
|
- name: Get current day
|
||||||
|
shell: 'date +%Y-%m-%d'
|
||||||
|
register: _date
|
||||||
|
|
||||||
|
- name: Write requirements
|
||||||
|
template:
|
||||||
|
src: requirements-venv.txt
|
||||||
|
dest: '{{ create_venv_path }}/requirements-venv.txt'
|
||||||
|
register: _venv_requirements_txt
|
||||||
|
|
||||||
|
- name: Create or upgrade venv
|
||||||
|
when: _venv_requirements_txt.changed
|
||||||
|
pip:
|
||||||
|
requirements: '{{ create_venv_path }}/requirements-venv.txt'
|
||||||
|
extra_args: '--upgrade'
|
||||||
virtualenv: '{{ create_venv_path }}'
|
virtualenv: '{{ create_venv_path }}'
|
||||||
virtualenv_command: '/usr/bin/python3 -m venv'
|
virtualenv_command: '/usr/bin/python3 -m venv'
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
# Update timestamp: {{ _date.stdout }}
|
||||||
|
{% for r in _venv_requirements %}
|
||||||
|
{{ r }}
|
||||||
|
{% endfor %}
|
Loading…
Reference in New Issue
Block a user