ansible-lint24.12.2
Published
Checks playbooks for practices and behavior that could potentially be improved
pip install ansible-lint
Package Downloads
Authors
Project URLs
Requires Python
>=3.10
Dependencies
- will-not-work-on-windows-try-from-wsl-instead
; platform_system == "Windows"
- ansible-core
>=2.13.0
- ansible-compat
>=24.10.0
- black
>=24.3.0
- filelock
>=3.3.0
- importlib-metadata
- jsonschema
>=4.10.0
- packaging
>=21.3
- pathspec
>=0.10.3
- pyyaml
>=5.4.1
- ruamel.yaml
>=0.18.5
- subprocess-tee
>=0.4.1
- yamllint
>=1.30.0
- wcmatch
>=8.1.2; python_version < "3.12"
- wcmatch
>=8.5.0; python_version >= "3.12"
- mkdocs-ansible
>=24.12.0; extra == "docs"
- uv
>=0.5.5; extra == "docs"
- black
; extra == "test"
- coverage-enable-subprocess
; extra == "test"
- coverage
[toml]>=6.4.4; extra == "test"
- jmespath
; extra == "test"
- license-expression
>=30.3.0; extra == "test"
- mypy
; extra == "test"
- netaddr
; extra == "test"
- pip
; extra == "test"
- psutil
; extra == "test"
- pylint
; extra == "test"
- pytest
>=7.2.2; extra == "test"
- pytest-mock
; extra == "test"
- pytest-plus
>=0.6; extra == "test"
- pytest-xdist
[psutil,setproctitle]>=2.1.0; extra == "test"
- pytest-instafail
>=0.5.0; extra == "test"
- ruamel.yaml
>=0.17.31; extra == "test"
- ruamel-yaml-clib
; extra == "test"
- tox
>=4.0.0; extra == "test"
- types-jsonschema
; extra == "test"
- types-pyyaml
; extra == "test"
Ansible-lint
ansible-lint
checks playbooks for practices and behavior that could
potentially be improved. As a community-backed project ansible-lint supports
only the last two major versions of Ansible.
Visit the Ansible Lint docs site
Using ansible-lint as a GitHub Action
This action allows you to run ansible-lint
on your codebase without having to
install it yourself.
# .github/workflows/ansible-lint.yml
name: ansible-lint
on:
pull_request:
branches: ["main", "stable", "release/v*"]
jobs:
build:
name: Ansible Lint # Naming the build is important to use it as a status check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Run ansible-lint
uses: ansible/ansible-lint@main
# optional (see below):
with:
args: ""
setup_python: "true"
working_directory: ""
requirements_file: ""
All the arguments are optional and most users should not need them:
args
: Arguments to be passed to ansible-lint command.setup_python
: If python should be installed. Default istrue
.working_directory
: The directory where to run ansible-lint from. Default isgithub.workspace
. That might be needed if you want to lint only a subset of your repository.requirements_file
: Path to the requirements.yml file to install role and collection dependencies.
For more details, see ansible-lint-action.
Communication
Refer to the Talk to us section of the Contributing guide to find out how to get in touch with us.
You can also find more information in the Ansible communication guide.
Contributing
Please read Contribution guidelines if you wish to contribute.
Code of Conduct
Please see the Ansible Community Code of Conduct.
Licensing
The ansible-lint project is distributed as GPLv3 due to use of GPLv3 runtime
dependencies, like ansible
and yamllint
.
For historical reasons, its own code-base remains licensed under a more liberal MIT license and any contributions made are accepted as being made under original MIT license.
Authors
ansible-lint was created by Will Thames and is now maintained as part of the Ansible by Red Hat project.