
Install twine into a venv and set appropriate environment variables. Also added tests. Based on commit adding `ensure-nox` (77b1b24) role. Related-bug: #2095514 Change-Id: Ibb4e89f79879b4d0ae0294440c9c0b79fc57a7fa
45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
- name: Install pip
|
|
include_role:
|
|
name: ensure-pip
|
|
|
|
- name: Check if twine is installed
|
|
shell: |
|
|
command -v {{ pypi_twine_executable }} {{ ensure_twine_venv_path }}/bin/twine || exit 1
|
|
args:
|
|
executable: /bin/bash
|
|
register: twine_preinstalled
|
|
failed_when: false
|
|
|
|
- name: Export preinstalled pypi_twine_executable
|
|
set_fact:
|
|
pypi_twine_executable: "{{ twine_preinstalled.stdout_lines[0] }}"
|
|
cacheable: true
|
|
when: twine_preinstalled.rc == 0
|
|
|
|
- name: Install twine to local env
|
|
when: twine_preinstalled.rc != 0
|
|
block:
|
|
- name: Create local venv
|
|
command: "{{ ensure_pip_virtualenv_command }} {{ ensure_twine_venv_path }}"
|
|
|
|
- name: Install twine to local venv
|
|
command: "{{ ensure_twine_venv_path }}/bin/pip install twine{{ ensure_twine_version }}"
|
|
|
|
- name: Export installed pypi_twine_executable path
|
|
set_fact:
|
|
pypi_twine_executable: "{{ ensure_twine_venv_path }}/bin/twine"
|
|
cacheable: true
|
|
|
|
- name: Output twine version
|
|
command: "{{ pypi_twine_executable }} --version"
|
|
|
|
- name: Make global symlink
|
|
when:
|
|
- ensure_twine_global_symlink
|
|
- pypi_twine_executable != '/usr/local/bin/twine'
|
|
file:
|
|
state: link
|
|
src: "{{ pypi_twine_executable }}"
|
|
dest: /usr/local/bin/twine
|
|
become: yes
|