Squash merge move_to_single_file_pkgs into main
This commit is contained in:
80
tasks/pkgs/ansible_lint.yml
Normal file
80
tasks/pkgs/ansible_lint.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
# 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
|
||||
pkg_deps:
|
||||
- pipx
|
||||
# }}}
|
||||
- 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: Add ansible lint package deps
|
||||
loop: "{{ ansible_lint.pkg_deps }}"
|
||||
loop_control:
|
||||
loop_var: dep
|
||||
ansible.builtin.include_tasks: pkgs/{{ dep }}.yml
|
||||
|
||||
- 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 } ) }}"
|
||||
Reference in New Issue
Block a user