Files
infra/ansible/roles/profile_desktop_common/tasks/source_tool.yml
2026-04-17 21:24:16 +02:00

40 lines
1.4 KiB
YAML

---
- name: Check installed {{ source_tool.name }} binary
ansible.builtin.stat:
path: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}"
register: source_tool_installed_binary
- name: Clone {{ source_tool.name }} repository
ansible.builtin.git:
repo: "{{ source_tool.repo }}"
dest: "{{ user_home }}/.local/src/{{ source_tool.name }}"
update: true
become_user: "{{ username }}"
environment:
HOME: "{{ user_home }}"
register: source_tool_repo_state
- name: Check built {{ source_tool.name }} binary
ansible.builtin.stat:
path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}"
register: source_tool_built_binary
- name: Build {{ source_tool.name }}
ansible.builtin.command:
cmd: "{{ source_tool.build_cmd }}"
chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}"
when:
- source_tool_repo_state.changed or not source_tool_built_binary.stat.exists
- name: Install {{ source_tool.name }}
ansible.builtin.copy:
src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}"
dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}"
remote_src: true
owner: root
group: root
mode: "0755"
become: true
when:
- source_tool_repo_state.changed or not source_tool_installed_binary.stat.exists