# 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: 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_imethod is undefined block: - name: Configure for RedHat <= 10 when: - os_family == 'RedHat' - ansible_distribution_major_version|int <= 10 ansible.builtin.set_fact: ansible_lint_imethod: source - name: Fallback set ansible_lint install method when: - ansible_lint_imethod is undefined ansible.builtin.set_fact: ansible_lint_imethod: "{{ imethod if imethod in ansible_lint.methods else ansible_lint.methods[0] }}" - name: Configure pipx source install when: - ansible_lint_imethod == "source" block: - name: Add ansible_lint to pipx install list ansible.builtin.set_fact: pkg_pipx: "{{ pkg_pipx + [ansible_lint.pkgname['pip']] }}" - name: Finalise ansible_lint source install ansible.builtin.set_fact: ansible_lint_install: "{{ ansible_lint_imethod }}={{ ansible_lint.pkgname['pip'] }}" - name: Append ansible-lint to system install list when: - ansible_lint_imethod == 'system' block: - name: Queue ansible_lint system install ansible.builtin.set_fact: pkg_sys: "{{ pkg_sys + [ansible_lint_pkgname[os_family]] }}" - name: Finalise ansible_lint system install ansible.builtin.set_fact: ansible_lint_install: "{{ ansible_lint_imethod }}={{ ansible_lint.pkgname[os_family] }}" - name: Complete ansible_lint configuration ansible.builtin.set_fact: __configured: "{{ __configured | combine( { 'ansible_lint': ansible_lint_install } ) }}"