# 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 } ) }}"