ansible / ansible-lint

ansible-lint checks playbooks for practices and behavior that could potentially be improved and can fix some of the most common ones for you
https://ansible.readthedocs.io/projects/lint/
GNU General Public License v3.0
3.5k stars 664 forks source link
ansible ansible-dev-tools ansible-lint dot-config hacktoberfest pep-621 pre-commit-hook

PyPI version Ansible-lint rules explanation Discussions pre-commit

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-latest
    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:

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.

[contribution guidelines]: https://ansible.readthedocs.io/projects/lint/contributing

[mit]: https://github.com/ansible/ansible-lint/blob/main/docs/licenses/LICENSE.mit.txt

[ansible-lint-action]: https://ansible.readthedocs.io/projects/lint/installing/#installing-from-source-code