This repository has been archived on 2025-04-22. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
common-ansible/tasks/poetry.yml
2020-11-07 14:42:58 +01:00

73 lines
2 KiB
YAML

- name: retrieve user $HOME # noqa 301
shell: "echo $HOME"
become_user: "{{ poetry_user }}"
register: home_stats
- name: retrieve user $PATH # noqa 301
shell: "echo $PATH"
become_user: "{{ poetry_user }}"
register: path_stats
- name: set poetry user variables
set_fact:
poetry_user_home: "{{ home_stats.stdout }}"
poetry_user_path: "{{ path_stats.stdout }}"
- name: create user folder for binaries
become_user: "{{ poetry_user }}"
file:
state: directory
mode: "0755"
path: "{{ poetry_user_home }}/.local/bin"
- name: set default python binary # noqa 208
become: true
file:
state: link
src: "/usr/bin/python3"
dest: "/usr/bin/python"
when: ansible_distribution == "Ubuntu"
- name: setup poetry for Ubuntu/Debian derived distro's
block:
- name: check poetry existence
become_user: "{{ poetry_user }}"
stat:
path: "{{ poetry_dir }}"
register: poetry_stats
- name: download poetry installer
become_user: "{{ poetry_user }}"
get_url:
url: "{{ poetry_url }}"
dest: /tmp/
mode: "0750"
when: poetry_stats.stat.isdir is not defined
- name: install poetry
become_user: "{{ poetry_user }}"
command: "python /tmp/get-poetry.py --yes" # noqa 305
environment:
POETRY_HOME: "{{ poetry_dir }}"
when: poetry_stats.stat.isdir is not defined
- name: add poetry to user binaries # noqa 208
become_user: "{{ poetry_user }}"
file:
state: link
src: "{{ poetry_dir }}/bin/poetry"
dest: "{{ poetry_user_home }}/.local/bin/poetry"
when: ansible_distribution == "Debian" or ansible_distribution == "Ubuntu"
- name: setup poetry for Archlinux
become: true
pacman:
name: poetry
state: present
when: ansible_facts['os_family'] == "Archlinux"
- name: update poetry config
become_user: "{{ poetry_user }}"
command: "poetry config virtualenvs.in-project true" # noqa 301
environment:
PATH: "{{ poetry_user_home }}/.local/bin:{{ poetry_user_path }}"