summaryrefslogtreecommitdiffstats
path: root/roles/yamllint
diff options
context:
space:
mode:
Diffstat (limited to 'roles/yamllint')
-rw-r--r--roles/yamllint/defaults/main.yml2
-rw-r--r--roles/yamllint/meta/argument_specs.yml10
-rw-r--r--roles/yamllint/meta/main.yml18
-rw-r--r--roles/yamllint/tasks/main.yml19
4 files changed, 49 insertions, 0 deletions
diff --git a/roles/yamllint/defaults/main.yml b/roles/yamllint/defaults/main.yml
new file mode 100644
index 00000000..43e19920
--- /dev/null
+++ b/roles/yamllint/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+yamllint_version: "1.37.1"
diff --git a/roles/yamllint/meta/argument_specs.yml b/roles/yamllint/meta/argument_specs.yml
new file mode 100644
index 00000000..c79203f8
--- /dev/null
+++ b/roles/yamllint/meta/argument_specs.yml
@@ -0,0 +1,10 @@
+---
+argument_specs:
+ main:
+ short_description: "Install yamllint on Linux distributions"
+ description: "Install yamllint on Linux distributions"
+ options:
+ yamllint_version:
+ type: "str"
+ description: "The default yamllint version to use (must be in major.minor.patch format)"
+ default: "1.37.1"
diff --git a/roles/yamllint/meta/main.yml b/roles/yamllint/meta/main.yml
new file mode 100644
index 00000000..2be2e40e
--- /dev/null
+++ b/roles/yamllint/meta/main.yml
@@ -0,0 +1,18 @@
+---
+dependencies:
+ - role: "python"
+galaxy_info:
+ author: "a14m"
+ description: "Install yamllint using uv on Linux distributions"
+ license: "MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: "ArchLinux"
+ versions:
+ - "all"
+ - name: "Ubuntu"
+ versions:
+ - "noble"
+ - name: "Debian"
+ versions:
+ - "bookworm"
diff --git a/roles/yamllint/tasks/main.yml b/roles/yamllint/tasks/main.yml
new file mode 100644
index 00000000..902f0e02
--- /dev/null
+++ b/roles/yamllint/tasks/main.yml
@@ -0,0 +1,19 @@
+---
+- name: "Check yamllint version {{ yamllint_version }}"
+ ansible.builtin.shell: |
+ set -euo pipefail
+ uv tool list | grep "^yamllint " | awk '{print $2}' | sed 's/^v//'
+ args:
+ executable: /bin/bash
+ register: ansible_lint_installed_version
+ changed_when: false
+ failed_when: false
+
+- name: "Install yamllint version {{ yamllint_version }}"
+ ansible.builtin.shell: |
+ set -euo pipefail
+ uv tool install yamllint=={{ yamllint_version }} --force
+ args:
+ executable: /bin/bash
+ changed_when: true
+ when: ansible_lint_installed_version.stdout != yamllint_version