composer: Upgrade only if requested

This commit is contained in:
uumas
2025-01-27 05:30:51 +02:00
parent 656de03cc9
commit dc48543177
4 changed files with 32 additions and 15 deletions

View File

@@ -0,0 +1,2 @@
---
composer_upgrade: false

View File

@@ -0,0 +1,10 @@
---
argument_specs:
main:
description: Installs composer if not already installed system-wide
options:
composer_upgrade:
description: Whether to upgrade composer to the latest version if already installed
type: bool
required: false
default: false

View File

@@ -1,20 +1,24 @@
--- ---
- name: Test if composer is installed system-wide - name: Test if composer is installed system-wide
stat: ansible.builtin.stat:
path: /usr/bin/composer path: /usr/bin/composer
register: global_composer register: _composer_global_executable
- name: Install composer for user
when: not _composer_global_executable.stat.exists
block:
- name: Check if composer installed
ansible.builtin.stat:
path: "{{ ansible_user_dir }}/.local/bin/composer"
register: _composer_user_executable
- block:
- name: Download latest version of composer locally - name: Download latest version of composer locally
get_url: ansible.builtin.get_url:
url: https://getcomposer.org/download/latest-stable/composer.phar url: https://getcomposer.org/download/latest-stable/composer.phar
dest: "{{ ansible_user_dir }}/.local/bin/composer" dest: "{{ ansible_user_dir }}/.local/bin/composer"
mode: 0755 mode: "0755"
when: (not _composer_user_executable.stat.exists) or composer_upgrade
- name: Set composer path to use local installation - name: Set composer path to use local installation
set_fact: ansible.builtin.set_fact:
composer_path: "{{ ansible_user_dir }}/.local/bin/composer" composer_path: "{{ ansible_user_dir }}/.local/bin/composer"
when: not global_composer.stat.exists

View File

@@ -1,3 +1,4 @@
--- ---
dependencies: dependencies:
- composer - role: composer
composer_upgrade: "{{ kimai_upgrade }}"