Files
ansible_role_package/tasks/pkgs/ansible_lint.yml
2026-03-17 16:19:15 -06:00

63 lines
2.0 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: ansible_lint
## Description: Linter for ansible yaml
## Version: latest
## Methods: source
## Helpers: pipx
---
- name: Set ansible_lint default facts # {{{
ansible.builtin.set_fact:
ansible_lint_version: "{{ ansible_lint_version | default('latest') }}"
ansible_lint:
install_methods:
- source
- system
pkgname:
RedHat: ansible-lint
Debian: ansible-lint
Archlinux: ansible-lint
Alpine: ansible-lint
FreeBSD: py311-ansible-lint
pip:
name: ansible_lint
# }}}
- name: Configure ansible_lint
when:
- "'ansible_lint' not in __configured"
block:
- name: Set ansible_lint install method
when:
- ansible_lint_install_method is undefined
block:
- name: Configure for RedHat <= 10
when:
- os_family == 'RedHat'
- ansible_distribution_major_version|int <= 10
ansible.builtin.set_fact:
ansible_lint_install_method: source
- name: Fallback set ansible_lint install method
when:
- ansible_lint_install_method is undefined
ansible.builtin.set_fact:
ansible_lint_install_method: "{{ install_method if install_method in ansible_lint.install_methods else ansible_lint.install_methods[0] }}"
- name: Configure pipx source install
when:
- ansible_lint_install_method == "source"
block:
- name: Add ansible_lint to pipx install list
ansible.builtin.set_fact:
pkg_pipx: "{{ pkg_pipx + [ansible_lint.pkgname['pip']] }}"
- name: Append ansible-lint to system install list
when:
- ansible_lint_install_method == 'system'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[ansible_os_family]] }}"
- name: Complete ansible_lint configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'ansible_lint': ansible_lint_install_method } ) }}"